Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_1_2_3_4_2009g.doc
Скачиваний:
18
Добавлен:
09.11.2019
Размер:
326.14 Кб
Скачать

Лабораторная работа № 2

Тема: Представление чисел в ЭВМ, кодирование символов.

Цель работы. Изучить способы представления чисел и нечисловой информации в памяти компьютера.

Теоретические предпосылки. В ЭВМ любая информация может быть записана строкой бит (0 и 1), причем длина строки (n бит) фиксирована. Разрядная сетка, т.е. количество разрядов (n), отведенных для записи числа, бывает 8, 16, 32, 64. Очень важным является то, что количество цифр (разрядов) при записи чисел в ЭВМ ограничено.

Представление чисел в эвм

В ЭВМ числа могут представляться в форме с фиксированной точкой (запятой) и плавающей точкой (запятой). Форма записи числа с фиксированной точкой применяется в основном для множества целых чисел (считается, что точка расположена после самого младшего разряда). Пример: 53 0000...053

Числа с плавающей точкой представляются в виде мантиссы и порядка. Любое число можно представить как N = m•qp, где m – мантисса, q – основание СС (целое число), р – порядок числа (целое число). Для записи очень больших или очень малых чисел, например в физике, пользуются записью вида - a•10b (заряд электрона е=1,6•10–19Кул). Представление числа с плавающей запятой исключает эту самую запятую выбором порядка р (b) так, чтобы мантисса была меньше единицы. Следовательно, мантисса – дробное число, меньшее единицы. Если в мантиссе после точки следует цифра отличная от нуля, то число считается нормализованным.

В ЭВМ нормализованные числа в форме с плавающей точкой представляются двумя группами цифр, одна группа характеризует мантиссу, а другая - порядок. Обе группы цифр имеют соответствующие знаки (+ или - ). При одном и том же количестве разрядов, отведенных в разрядной сетке для записи чисел, диапазон чисел с плавающей точкой гораздо шире, чем диапазон чисел с фиксированной точкой.

Для внутреннего представления чисел используются прямой, обратный, дополнительный коды. Пусть Х – двоичное число, n – количество разрядов для целой части; m – количество разрядов для представления дробной части; k = 1 – количество разрядов для знака.

X = s an-1 an-2…a1 a0 a-1 a-2 …a-m, где s – знак числа.

Прямым кодом [X]прk числа Х называется целое (n+m+k) –разрядное число:

0 an-1 an-2…a1 a0 a-1 a-2 …a-m , если х³ 0

[X]прk = 1 an-1 an-2…a1 a0 a-1 a-2 …a-m, если х< 0

Пусть n=4, m=5, тогда прямые коды:

[0001,10101] пр= 0 0001 10101 [-0010,11011] пр= 1 0010 11011

Обратным кодом [X]обрk числа Х называется целое (n+m+k) –разрядное число:

0 an-1 an-2…a1 a0 a-1 a-2 …a-m , если х³ 0

[X]обр.k = 1 bn-1 bn-2…b1 b0 b-1 b-2 …b-m, если х< 0

bi = 1 - ai инвертированное значение каждого бита.

Пусть n=4, m=5, тогда обратные коды:

[0001,10101] обр = 0 0001 10101 [-0010,11011] обр = 1 1101 00100

Внимание! Знак числа не инвертируется.

Дополнительный код числа получается также как и обратный код, только к отрицательному числу, полученному этим способом, добавляется единица младшего разряда.

Пусть n=4, m=5, тогда дополнительные коды:

[0001,10101]=0 0001 10101; [-0010,11011]=1 1101 00101.

Рассмотрим операцию вычитания двоичных чисел (n=3, m=0), представив вычитаемое как отрицательное число в дополнительном коде: 5 - 2 =3; 510 01012, 210 00102, –210 11102 (дополнительный код), складываем 5+(–2), 0101 + 1110 в полученном результате «отсекаем» лишний левый бит 1|0011 310

Из примера видно, что для чисел, представленных таким образом, операция вычитания заменяется сложением.

Форма записи чисел с плавающей точкой определяет точность, с которой представлены числа. Допустим, мантисса содержит 5 цифр, тогда всякое число не более, чем с пятью цифрами, можно представить точно, а все остальные - только приближенно. Наличие погрешности имеет следствие: нельзя предполагать точное равенство любых двух чисел с плавающей точкой. Например, два числа в условиях точной арифметики, равные 1,2 в ЭВМ фактически могут превратиться в 1,2001 и 1,1999 и тем самым перестать совпадать. Следует отметить, что перевод чисел из обычной (десятичной) СС в машинную (двоичную) во многих случаях приводит к искажению числа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]