Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
01_lektsia.docx
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
516 Кб
Скачать
☆

Беззнаковые целые.

Беззнаковые целые представляют только неотрицательные числа, при этом все разряды кода используются для представления значения числа и максимальное число соответствует единичным значениям кода во всех разрядах: 111..111. m-байтовая переменная целого типа без знака, очевидно, принимает значения от 0 до +28m-1;

Знаковые целые.

При представлении в компьютере знаковых чисел, один разряд из записи числа отводится для знака. 0 соответствует положительному числу, 1 - отрицательному. Для упрощения арифметических действий, используется запись числа в дополнительном коде.

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

Вещественные числа.

Для представления дробей, используется нормализованная запись числа, имеющая вид: где a — мантисса, n — порядок, показывающий на сколько должна сместиться точка, q — основание системы счисления. Например, , здесь 0,25324 — мантисса, 2 — порядок, 10 — основание системы счисления. Для машинной записи мантисса должна удовлетворять условию: , то есть мантисса меньше единицы, и её первая значащая цифра – не ноль.

Рассмотрим один из возможных примеров представления числа с плавающей точкой в памяти компьютера. Пусть в памяти компьютера вещественное число представляется в форме с плавающей точкой, и занимает ячейку 4 байта. В ячейке должна содержаться следующая информация: знак числа, порядок, значащие цифры мантиссы.

Знак числа, порядок

МАНТИССА

1 байт

2 байт

3 байт

4 байт

С старшем бите 1-го байта, хранится знак мантиссы, в оставшихся 7-ми битах – машинный порядок. В оставшихся 3-х байтах – значащие цифры мантиссы.

Что такое машинный порядок? В 7-ми оставшихся двоичных числах содержатся значения от 0000000 до 1111111 или, в десятичной системе счисления от 0 до , то есть, порядок может принимать значёния от 0 до 128, — 129 значений. Очевидно, что порядок может быть как положительным, так и отрицательным, следовательно, логично разделить полученный диапазон на 2, то есть, получаем следующее соответствие между машинным и математическим порядками:

Математический

-64

-63

-62

…

0

1

…

63

64

Машинный

0

1

2

…

64

65

…

127

128

Следовательно, машинный порядок смещён относительно математического на 64, и имеет только положительные значения. Обозначив машинный порядок за , а математический – за , получим следующую формулу:

Поскольку, , для шестнадцатеричной системы, получаем:

Для двоичной системы:

Пример: представить число 25,625 в двоичном и шестнадцатеричном виде с плавающей точкой.

В двоичной системе число запишется в виде: 11001,101, переведём его в нормализованную форму,

Следовательно, математический порядок числа равен 101, мантисса равна 0,11001101. По приведённым выше формулам, машинный порядок равен 1000101, так же, учитывая, что число положительное, получим следующую запись:

В случае, если бы число было отрицательным, в старшем разряде стоял бы нуль.

В более компактной, 16-ричной форме, получим запись:

45 CD 00 00