Учебное пособие: Методические указания для проведения лабораторной работы Томск 2009
Название: Методические указания для проведения лабораторной работы Томск 2009 Раздел: Остальные рефераты Тип: учебное пособие | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Министерство образования Российской Федерации Томский политехнический университетКафедра компьютерных измерительных систем и метрологии ________________________________________________ И Н Ф О Р М А Т И К А Кодирование информации. Основные форматы данных. (Часть вторая) Методические указания для проведения лабораторной работы Томск 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 бита отводятся под значение мантиссы. Любое число можно представить в виде числа с плавающей точкой множеством способов. С изменением порядка точка перемещается (плавает) влево или вправо. Например, Поэтому для установления однозначности при записи чисел принята нормализованная форма записи числа
. Мантисса нормализованного числа может изменяться в диапазоне: ненормализованное нормализованное число число Следовательно, в двоичном представлении нормализованная мантисса числа, отличного от нуля, всегда имеет вид:
Здесь, 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
Далее приводятся ASCII – коды кириллицы в варианте 866-MS DOS. Таблица 3.2
Задание 1. Представить числа в формате с плавающей точкой обычной точности. 2. Перевести число из двоичного формата с плавающей точкой обычной точности в десятичное представление. 3. Используя ASCII кодировку в варианте 866 (MS-DOS), представить в двоичном виде текст. 4. Расшифровать ASCII код.
Контрольные вопросы 1. Объясните необходимость использования «смещенного порядка» в машинной записи числа с плавающей точкой. 2. Раскройте термин «нормализованная мантисса». 3. Чем отличаются машинные представления чисел 0.0 и 0.5 ∙ 10-127 4. Объясните большое разнообразие ASCII кодировок для кириллицы.
Варианты заданий к лабораторной работе №1 1) 32128. 25; – 20.0056 2) 0 11100010 01111000001110000000000 1 11100010 01111000001110000000000 3) «Привет student № 1» 4) 48 65 6C 6C 6F 20 4E 31 №2 1) 10128. 025; – 320.054 2) 0 11000010 01101000001110000000000 1 11000010 01101000001110000000000 3) «Привет student № 2» 4) 48 65 6C 6C 6F 20 4E 32 №3 1) 9711. 34; – 120.059 2) 0 10100010 00111000001110000000000 1 10100010 00111000001110000000000 3) «Привет student № 3» 4) 48 65 6C 6C 6F 20 4E 33 №4 1) 318. 725; – 51.76 2) 0 11100000 01111000000110000000000 1 11100000 01111000000110000000000 3) «Привет student № 4» 4) 48 65 6C 6C 6F 20 4E 34 №5 1) 12128.1; – 2001.46 2) 0 11101010 01110000001110000000000 1 11101010 01110000001110000000000 3) «Привет student № 5» 4) 48 65 6C 6C 6F 20 4E 35 №6 1) 1028. 35; – 10.64 2) 0 11100010 01111000001010000000000 1 11100010 01111000001010000000000 3) «Привет student № 6» 4) 48 65 6C 6C 6F 20 4E 36 №7 1) 402128. 5; – 123.6 2) 0 11100010 01101000001110000000000 1 11100010 01101000001110000000000 3) «Привет student № 7» 4) 48 65 6C 6C 6F 20 4E 37 №8 1) 1222.8; б) – 23.19 2) 0 11100010 01101000001110000000000 1 11100010 01101000001110000000000 3) «Привет student № 8» 4) 48 65 6C 6C 6F 20 4E 38 №9 1) 33128. 625; – 21.056 2) 0 11100011 11111000001110001100000 1 11100011 11111000001110001100000 3) «Hello студент № 9» 4) 39 20 20 79 65 61 72 20 0D 0A №10 1) 128. 025; – 324.054 2) 0 11010010 01111000001110000000000 1 11010010 01111000001110000000000 3) «Hello студент № 10» 4) 31 30 20 64 61 79 20 0D 0A №11 1) 9011. 34; – 126.59 2) 0 10100010 00111000001110001100000 1 10100010 00111000001110001100000 3) «Hello студент № 11» 4) 48 65 6C 6C 6F 20 4E 33 №12 1) 310. 725; – 501.76 2) 0 11100010 01111000000110000000000 1 11100010 01111000000110000000000 3) «Hello студент № 12» 4) 48 65 6C 6C 6F 20 4E 34 №13 1) 1128.1; – 204.56 2) 0 11101110 01110000001110000000000 1 11101110 01110000001110000000000 3) «Привет student № 13» 4) 48 65 6C 6C 6F 20 4E 35 №14 1) 1328. 35; – 13.64 2) 0 11100010 01111001001010000000000 1 11100010 01111001001010000000000 3) «Привет student № 14» 4)48 65 6C 6C 6F 20 4E 36 №15 1) 4028. 5; б) – 1233.6 2) 0 01100011 01101000001110000000000 1 01100011 01101000001110000000000 3) «Привет student № 15» 4) 48 65 6C 6C 6F 20 4E 37 №16 1) 222.8; – 233.19 2) 0 01100110 01101000001110000000000 1 01100110 01101000001110000000000 3) «Hello студент № 16» 4) 48 65 6C 6C 6F 20 4E 38 №17 1) 3228. 25; – 10.0056 2) 0 01100010 11111000001110000000000 1 01100010 11111000001110000000000 3) «Hello студент № 17» 4) 48 65 6C 6C 6F 20 4E 31 №18 1) 10128. 025; – 320.054 2) 0 11000010 01101000001110000000000 1 11000010 01101000001110000000000 3) «Hello студент № 18» 4) 48 65 6C 6C 6F 20 4E 32 №19 1) 711. 34; – 720.059. 2) 0 00100010 00111000001110000000000 1 00100010 00111000001110000000000 3) «Hello студент № 19» 4) 48 65 6C 6C 6F 20 4E 33 №20 1) 3138. 725; – 451.76. 2) 0 00100000 01111000000110000000000 1 00100000 01111000000110000000000 3) «Привет student №20» 4) 48 65 6C 6C 6F 20 4E 34 |