Министерство образования Российской Федерации
Кафедра компьютерных измерительных систем и метрологии
________________________________________________
И Н Ф О Р М А Т И К А
Кодирование информации. Основные форматы данных.
(Часть вторая)
Методические указания для проведения
лабораторной работы
Дисциплина: Информатика.
Время выполнения: 2 часа
Разработали: Казаков В. Ю.
Рейтинг: 100
1. Цель работы: изучение понятия – «машинное представление информации», машинное представление действительных чисел, машинное представление текстовой информации (ASCII – коды).
2. Используемые технические средства: персональный компьютер, ОС Windows 9x/XP.
3. Программа работы.
3.1. Ознакомиться с базовыми положениями «машинного представления действительных чисел», используя Приложение 1.
3.2. Ознакомиться с двоичным кодированием текстовой информации с помощью ASCII -кодов, используя Приложение 2.
3.4. Выполнить задания своего варианта.
3.5.Сделать выводы и оформить отчет о проделанной лабораторной работе.
Приложение 1
Формы представления чисел в ЭВМ
Числа с фиксированной точкой
Ранее рассмотренное машинное представление целого числа можно трактовать как представление числа с фиксированной точкой. Число с фиксированной точкой имеет один знаковый разряд, остальные разряды являются значащими. «Фиксированная точка» означает, что любое целое число можно трактовать как некоторую дробь, умноженную на соответствующий масштабный множитель. К достоинствам использования чисел с фиксированной точкой относятся простота выполнения арифметических операций. К недостаткам – небольшой диапазон представления чисел.
Числа с плавающей точкой
В формате с фиксированной точкой нельзя представить очень большие числа или очень маленькие. При выполнении деления двух больших чисел, как правило, теряется дробная часть частного. При работе в десятичной системе счисления ученые давно нашли выход из положения, применяя для представления числовых величин так называемую научную нотацию (способ записи). Так, число 976 000 000 000 000 можно представить в виде 9.76·1014, а число 0.000 000 000 000 097 6 – в виде 9.76·10 - 14. При этом разделительная точка динамически сдвигается в удобное место, а для того чтобы "уследить" за ее положением в качестве второго множителя – характеристики, – используется степень числа 10 (основание характеристики). Это позволяет с помощью небольшого числа цифр (т.е. чисел с ограниченной разрядностью) с успехом представлять как очень большие, так и очень малые величины.
Этот же подход можно применить и в двоичной системе счисления. Число можно представить в виде
Компоненты такого представления можно сохранить в двоичном слове, состоящем из трех полей:
• поле знака числа (плюс или минус);
• поле мантиссы m;
• поле порядка p.
Основание характеристики q во всех существующих стандартах такой формы представления подразумевается неявно и не сохраняется, поскольку оно одинаково для всех чисел.
Принципы представления двоичных чисел в формате с плавающей точкой лучше пояснять на примерах. На рисунке схематически показан
32-разрядный формат с плавающей точкой. В крайнем левом бите слова хранится знак числа (как обычно, положительному числу соответствует значение 0, а отрицательному – значение 1). В следующих восьми битах хранится значение порядка. Для представления порядка используется так называемый смещенный формат.
Рис. 3.1
Для получения действительного двоичного кода порядка необходимо вычесть из значения в этом поле фиксированное смещение. Обычно смещение равно (2k-1 – 1). Например, при k=8 смещение равно 127. Последние 23 бита отводятся под значение мантиссы. Любое число можно представить в виде числа с плавающей точкой множеством способов. С изменением порядка точка перемещается (плавает) влево или вправо. Например,
Поэтому для установления однозначности при записи чисел принята нормализованная форма записи числа. Мантисса нормализованного числа может изменяться в диапазоне:
(q=2, ). Таким образом, в нормализованных числах первая цифра после точки должна быть значащей. Например,ненормализованное нормализованное
число число
Следовательно, в двоичном представлении нормализованная мантисса числа, отличного от нуля, всегда имеет вид:
.Здесь, b – это произвольная двоичная цифра (0 или 1). Так как старший значащий разряд всегда хранит 1, то его нет смысла запоминать, просто необходимо учитывать это факт при совершении дальнейших действий. Поэтому в 23-х битах фактически хранится код 24-х битовой мантиссы. Например,
0.11010001· 210100 → 0 10010011 10100010000000000000000
– 0.11010001· 210100 → 1 10010011 10100010000000000000000
0.11010001· 2-10100 → 0 01101011 10100010000000000000000
– 0.11010001· 2-10100 → 1 01101011 10100010000000000000000
Обратите внимание на следующие особенности:
Рис. 3.2
На рис. 3.2 показано, какой диапазон чисел можно представить в рассмотренном 32-разрядном формате с плавающей точкой. Если в слове такой же длины хранить целые числа в дополнительном коде, то диапазон представления будет охватывать 232 чисел от –231 до 231 –1 включительно. В формате с плавающей точкой можно хранить:
Формат с плавающей точкой не позволяет представить больше чем в формате с фиксированной точкой отличающихся друг от друга числовых величин – их количество по-прежнему равно 232 для слова длиной 32 бит. Речь идет только о том, что эти числовые величины по-иному распределены на числовой оси. Интервал между соседними числами (кодовыми комбинациями, отличающимися значением в младшем разряде мантиссы) – переменный и зависит от абсолютной величины числа. "Соседние" числа, ближе расположенные к центру числовой оси, отличаются на меньшую величину, чем "соседние" числа более удаленные от центра числовой оси (рис. 3.3).
Рис. 3.3
Для унификации представления чисел с плавающей точкой институт инженеров по электротехнике и радиоэлектронике (IEEE) разработал стандарт IEEE 754. В последнее десятилетие практически все процессоры проектируются с учетом этого стандарта. Приведенный выше пример представляет формат с плавающей точкой обычной точности.
Таким образом, для представления числа в формате IEEE 754 с плавающей точкой с обычной точностью необходимо придерживаться следующего алгоритма:
1) представить число в двоичном виде – 10.62510 = 1010.101;
2) записать число в научной нотации, мантисса должна быть нормализована – 1010.101 = 0.1010101· 24 = 0.1010101· 2100;
3) записать знак числа – 0;
4) записать порядок – 410 + 12710 = 100 + 0111 1111=1000 0011;
5) привести окончательную запись числа – 0 10000011 01010100000000000000000.
Приложение 2
Форматы представления текста в ЭВМ
Для представления текстовой информации используется алфавитное кодирование, т.е. каждому символу – значку, цифре или букве, ставится в соответствии его двоичный код. Американский национальный институт стандартов (ANSI) принял 8 – битный код для текстовой информации ASCII –American Standard Code for Information Interchange. Изначально предполагалось использовать только 7 бит (127 – вариантов символов), а восьмой оставить для контроля. Поэтому в стандарте строго регламентированы только первые 128 (0 – 127) позиций. Широкое распространение ASCII – кодов привело к тому, что их стало не хватать для символов различных языков и других целей.
Поэтому оставшиеся возможности (128 – 255) стали использовать под различные национальные кодировки. В связи с этим первые 128 позиций строго регламентированы, а оставшиеся позиции используются по мере необходимости. В России для отображения кириллицы широкое распространение получили следующие варианты кодировок: КОИ8, 866-MS DOS, 1251-Windows.
Таблица 3.1
0 (nul) | 16 ► (dle) | 32 (sp) | 48 0 | 64 @ | 80 P | 96 ` | 112 p |
1☺ (soh) | 17 ◄ (dc1) | 33 ! | 49 1 | 65 A | 81 Q | 97 a | 113 q |
2☻ (stx) | 18 ↕ (dc2) | 34 " | 50 2 | 66 B | 82 R | 98 b | 114 r |
3 ♥ (etx) | 19 ‼ (dc3) | 35 # | 51 3 | 67 C | 83 S | 99 c | 115 s |
4 ♦ (eot) | 20 ¶ (dc4) | 36 $ | 52 4 | 68 D | 84 T | 100 d | 116 t |
5 ♣ (enq) | 21 § (nak) | 37 % | 53 5 | 69 E | 85 U | 101 e | 117 u |
6 ♠ (ack) | 22 ▬ (syn) | 38 & | 54 6 | 70 F | 86 V | 102 f | 118 v |
7 • (bel) | 23 ↨ (etb) | 39 ' | 55 7 | 71 G | 87 W | 103 g | 119 w |
8 ◘ (bs) | 24 ↑ (can) | 40 ( | 56 8 | 72 H | 88 X | 104 h | 120 x |
9 (tab) | 25 ↓ (em) | 41 ) | 57 9 | 73 I | 89 Y | 105 i | 121 y |
10 (lf) | 26 → (eof) | 42 * | 58 : | 74 J | 90 Z | 106 j | 122 z |
11 ♂ (vt) | 27 ← (esc) | 43 + | 59 ; | 75 K | 91 [ | 107 k | 123 { |
12 ♀ (np) | 28 ∟ (fs) | 44 , | 60 < | 76 L | 92 \ | 108 l | 124 | |
13 (cr) | 29 ↔ (gs) | 45 - | 61 = | 77 M | 93 ] | 109 m | 125 } |
14 ♫ (so) | 30 ▲ (rs) | 46 . | 62 > | 78 N | 94 ^ | 110 n | 126 ~ |
15 ☼ (si) | 31 ▼ (us) | 47 / | 63 ? | 79 O | 95 _ | 111 o | 127 ⌂ |
Далее приводятся ASCII – коды кириллицы в варианте 866-MS DOS.