
Кодирование информации в эвм
Информация выражается не только числами (цифрами), но и другими символами. Поэтому нужно каким-либо образом представить для ЭВМ и нечисловые объекты. Для этого каждому символу присвоен некоторый (свой) числовой код. Таким образом можно хранить в памяти ЭВМ любую алфавитно-цифровую информацию с помощью двоичных знаков, составляющих коды символов. Метод компьютерного представления множества различных символов (букв алфавита, знаков пунктуации, цифр и т.д.) с помощью двоичных знаков называют кодированием. Двоичным кодом, состоящим из n разрядов, можно представить 2n различных символов.
Никаких ограничений на соответствие между комбинациями битов и символами из-за аппаратуры не существует. Поэтому возможны различные кодировки. Чаще всего встречаются кодировки, использующие для представления символа 8 битов (разрядов), которые называют байтом, т.е. 8бит = 1байт. Байт может иметь 28=256 различных комбинаций битов, следовательно, с помощью байта можно закодировать 256 различных символов. Такой достаточно большой набор символов нужен далеко не всегда, поэтому для кодирования можно использовать только 7 битов из байта, что даст 27=128 комбинаций. Кроме байта, ЭВМ может оперировать с данными фиксированной длины, состоящими из двух, четырех или восьми байтов; такие поля фиксированной длины называют полусловом (16 бит), словом (32 бита), двойным словом (64 бита).
В США для символов латинского алфавита используют кодировку ASCII (128 символов, 7 разрядов). Для европейских стран таблицу ASCII расширили, т.е. вернули восьмой бит, тем самым добавили еще 128 символов. Русский алфавит существенно отличается от латинского, поэтому, как и для некоторых других стран, для него при русификации MS DOS была добавлена, так называемая, альтернативная кодировка 866.
Рассмотрим часть кодировочной таблицы (модифицированная альтернативная кодировка ГОСТа)
Символ |
|
( |
) |
* |
+ |
, |
- |
. |
/ |
0 |
1 |
|
Код |
032 |
040 |
041 |
042 |
043 |
044 |
045 |
046 |
047 |
048 |
049 |
|
Символ |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
= |
? |
@ |
|
Код |
050 |
051 |
052 |
053 |
054 |
055 |
056 |
057 |
061 |
063 |
064 |
|
Символ |
A |
B |
C |
D |
E |
F |
a |
b |
c |
d |
e |
|
Код |
065 |
066 |
067 |
068 |
069 |
070 |
097 |
098 |
099 |
100 |
101 |
|
Символ |
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
Й |
К |
|
Код |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
|
Символ |
Л |
М |
Н |
О |
П |
Р |
С |
Т |
У |
Ф |
Х |
|
Код |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
|
Символ |
Ц |
Ч |
Ш |
Щ |
Ъ |
Ы |
Ь |
Э |
Ю |
Я |
а |
|
Код |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
|
Символ |
б |
в |
г |
д |
е |
ж |
з |
и |
й |
к |
л |
|
Код |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
|
Символ |
м |
н |
о |
п |
р |
с |
т |
у |
ф |
х |
ц |
|
Код |
172 |
173 |
174 |
175 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
|
Символ |
ч |
ш |
щ |
ъ |
ы |
ь |
э |
ю |
я |
Ё |
ё |
|
Код |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
Задания.
Представить следующие двоичные числа в обратном и дополнительном коде, если число знаковых разрядов – 1, число разрядов на целую часть – 4, число разрядов на дробную часть – 3: 11,01; -101,111; 11001,1; -1,100.
Определить диапазон целых чисел, двоичное представление которых занимает полуслово, слово, двойное слово.
Используя таблицу кодировки символов закодировать свой адрес с пробелами (код 32) и прописными буквами в начале слов.
Используя таблицу кодировки символов закодировать формулы вычисления корней квадратного уравнения (по правилам записи выражений в программировании).
Выполните декодирование следующего сообщения:
157130140032073066077032080067032175174239162168171160225236032162032049057056049032131046
Контрольные вопросы.
Что такое дополнительный код?
Назвать следующие числа: 1.765Е+03; 4.500Е-01; 3.853Е+06
Может ли компьютер сравнивать строки символов, например, чтобы расставить фамилии по алфавиту? Почему?
Зачем нужна единая для всех компьютеров кодировка?