Смекни!
smekni.com

Методические указания для проведения лабораторной работы Томск 2009 (стр. 1 из 2)

Министерство образования Российской Федерации

Томский политехнический университет

Кафедра компьютерных измерительных систем и метрологии

________________________________________________

И Н Ф О Р М А Т И К А

Кодирование информации. Основные форматы данных.

(Часть вторая)

Методические указания для проведения

лабораторной работы

Томск 2009

Дисциплина: Информатика.

Время выполнения: 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

Обратите внимание на следующие особенности:

  • знак сохраняется в старшем бите слова;
  • первый разряд мантиссы всегда равен 1, и в поле мантиссы не хранится;
  • к действительному значению порядка прибавляется смещение 127, и в поле порядка хранится эта сумма;
  • основание характеристики всегда равно 2 и поэтому не хранится.

Рис. 3.2

На рис. 3.2 показано, какой диапазон чисел можно представить в рассмот­ренном 32-разрядном формате с плавающей точкой. Если в слове такой же дли­ны хранить целые числа в дополнительном коде, то диапазон представления будет охватывать 232 чисел от –231 до 231 –1 включительно. В формате с плавающей точкой можно хранить:

  • отрицательные числа от – (1– 2–24) × 2128 до – 0.5 × 2 –127;
  • положительные числа от 0.5 × 2 –127 до (1–2 –24) × 2128.

Формат с плавающей точкой не позво­ляет представить больше чем в формате с фиксированной точкой отличающихся друг от друга числовых величин – их количество по-прежнему равно 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 &bsol; 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.