- •Самарский государственный технический университет
- •Представление чисел с плавающей точкой
- •Прямой, обратный, дополнительный коды
- •Представление символьной информации
- •Преобразование информации на машинном уровне
- •Сложение целых чисел
- •Вычитание целых чисел
- •Сложение и вычитание действительных чисел
- •Умножение и деление чисел
- •Обработка символьной информации
- •Работа с программой "Формы представления данных и преобразование информации в эвм"
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Библиографический список
Прямой, обратный, дополнительный коды
В ЭВМ для упрощения арифметических операций применяют специальные коды для представления чисел. При помощи этих кодов упрощается определение знака результата операции, операция вычитания чисел сводится к арифметическому сложению кодов, облегчается выработка признаков переполнения разрядной сетки. В результате упрощаются устройства ЭВМ, выполняющие арифметические операции.
Для представления отрицательных чисел в ЭВМ применяют прямой, обратный и дополнительный коды. Положительные числа представляются только в прямом коде. Во всех кодах знак "+" кодируется 0, а "-" – цифрой 1. Прямой код – это модуль числа со знаком.
Чтобы представить двоичное отрицательное число в обратном коде, нужно поставить в знаковый разряд 1, а во всех других разрядах заменить 1 нулями, а 0 – единицами. Отсюда для перехода от прямого кода к обратному все значения его разрядов инвертируются, кроме знакового.
Для представления отрицательного числа в дополнительном коде сначала получают обратный код, а затем к младшему разряду прибавляют 1. Для перехода от дополнительного кода к прямому применяют еще раз процедуру перехода к дополнительному коду.
Например, для чисел -756, -24678 в коротком формате имеем:
Число |
-756 |
+375 |
-24678 |
Прямой код |
10000010 11110100 |
00000001 01110111 |
11100000 01100110 |
Дополнительный код |
11111101 00001100 |
00000001 01110111 |
10011111 10011010 |
Наибольшее применение находит дополнительный код, т.к. он позволяет операцию вычитания заменить алгебраическим сложением. Поэтому отрицательные целые числа хранят в памяти ЭВМ в дополнительном коде.
Этот код позволяет использовать целые числа в диапазоне
.
То есть дополнительный код позволил расширить отрицательные границы диапазонов представления целых чисел на 1 (см. табл.1).
Таблица 1
Диапазоны представления чисел в ЭВМ
Название типа числа |
Диапазон представления |
Короткое целое |
-32768 ÷ 32767 |
Длинное целое |
-2147483648 ÷ 2147483647 |
Действительное короткое |
1.5∙10-45 ÷ 3.4∙1038 |
Действительное длинное |
5.0∙10-324 ÷ 1.7∙10308 |
Представление символьной информации
Современные ЭВМ обрабатывают не только числовую, но и текстовую информацию, т.е. алфавитно-цифровую информацию, содержащую цифры, буквы, знаки препинания, математические и другие символы. В качестве внутреннего кода для представления алфавитно-цифровых символов в памяти ЭВМ применяется американский стандартный код для обмена информацией ASCII (American Standard Code for Information Interchange), и его расширение (рис.5).ASCIIявляется основным международным стандартом и используется для кодирования управляющих символов, цифр и букв латинского алфавита, а его расширение – для символов псевдографики и букв национального алфавита.
С целью автоматизации обработки данных в ASCIIприменен весовой принцип для кодирования символов, согласно которому веса кодов цифр последовательно возрастают, а веса кодов букв увеличиваются в алфавитном порядке. Для кодирования одного символа используется 8 бит, т.е. 1 байт, поэтому в расширенном вариантеASCIIкодируется 28= 256 символов. В приведенной таблице для удобства символы представлены в виде шестнадцатеричных кодов: 00 ÷7F– основной стандарт, 80 ÷FF– расширение стандарта.
-
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
0
16
32
48
0
64
@
80
P
96
`
112
p
128
А
144
Р
160
а
176
░
192
└
208
╨
224
р
240
Ё
1
1
17
33
!
49
1
65
A
81
Q
97
a
113
q
129
Б
145
С
161
б
177
▒
193
┴
209
╤
225
с
241
ё
2
2
18
34
"
50
2
66
B
82
R
98
b
114
r
130
В
146
Т
162
в
178
▓
194
┬
210
╖
226
т
242
Є
3
3
19
35
#
51
3
67
C
83
S
99
c
115
s
131
Г
147
У
163
г
179
│
195
├
211
╙
227
у
243
є
4
4
20
36
$
52
4
68
D
84
T
100
d
116
t
132
Д
148
Ф
164
д
180
┤
196
─
212
╘
228
ф
244
Ї
5
5
21
37
%
53
5
69
E
85
U
101
e
117
u
133
Е
149
Х
165
е
181
╡
197
┼
213
╒
229
х
245
ї
6
6
22
38
&
54
6
70
F
86
V
102
f
118
v
134
Ж
150
Ц
166
ж
182
╢
198
╞
214
╓
230
ц
246
Ў
7
7
23
39
'
55
7
71
G
87
W
103
g
119
w
135
З
151
Ч
167
з
183
╖
199
╟
215
╫
231
ч
247
ў
8
8
24
40
(
56
8
72
H
88
X
104
h
120
x
136
И
152
Ш
168
и
184
╕
200
╚
216
╪
232
ш
248
˚
9
9
25
41
)
57
9
73
I
89
Y
105
i
121
y
137
Й
153
Щ
169
й
185
╣
201
╔
217
┘
233
щ
249
•
A
10
26
42
*
58
:
74
J
90
Z
106
j
122
z
138
К
154
Ъ
170
к
186
║
202
╩
218
┌
234
ъ
250
∙
B
11
27
43
+
59
;
75
K
91
[
107
k
123
{
139
Л
155
Ы
171
л
187
╗
203
╦
219
█
235
ы
251
∫
C
12
28
44
,
60
<
76
L
92
\
108
l
124
|
140
М
156
Ь
172
м
188
╝
204
╠
220
▄
236
ь
252
№
D
13
29
45
-
61
=
77
M
93
]
109
m
125
}
141
Н
157
Э
173
н
189
╜
205
═
221
▌
237
э
253
¤
E
14
30
46
.
62
>
78
N
94
^
110
n
126
и
142
О
158
Ю
174
о
190
╛
206
╬
222
▐
238
ю
254
■
F
15
31
47
/
63
?
79
O
95
_
111
o
127
⌂
143
П
159
Я
175
п
191
┐
207
╧
223
▀
239
я
255
Рис.5. Таблица кодов ASCII
Примечание. В таблице отсутствуют первые 32 символа, т.к. они отведены под управляющие коды.
Алфавитно-цифровая информация представляется строками переменной длины в виде кодов символов.
Например, строка WinZip 6.3кодируется следующим образом:
W |
i |
n |
Z |
i |
p |
|
6 |
. |
3 |
01010111 |
01101001 |
01101110 |
01011010 |
01101001 |
01110000 |
00100000 |
00110110 |
00101110 |
00110011 |
а строка –6.285 запишется в память в виде:
- |
6 |
. |
2 |
8 |
5 |
00101101 |
00110110 |
00101110 |
00110010 |
00111000 |
00110101 |