Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Рис. 1
Рис. 2
Рис. 3
Представление целых неотрицательных чисел (unsigned) не
отличается от канонической формы представления двоичных чисел, и
называется прямым кодом (Рис. 4).
Рис. 4
Рис. 5
Рис. 7
Для 8-битных чисел: код числа «–X» равен двоичному коду числа 256 –
X (дополнение до 256). -1 = 111111112 (Рис. 8).
Рис. 8
Рис. 9
Рис. 10
Рис. 12
Рис. 13
Как уже было сказано выше, значения разных типов для языков
программирования зависят от специфики реализации. Для определения,
сколько места занимает в памяти компьютера переменная того или иного
типа и какое максимальное значение может принимать число, хранимое в
переменной этого типа можно использовать пакет limits.h, который
включает определения характеристик общих типов переменных (Рис. 13).
Типичное значение 64-битной программы показано на рисунке Рис. 14,
а различные значения диапазона в зависимости от разрядности в Таблица
2.
Рис. 14
Таблица 2
K X X Типы данных
min max
char (Си)
8 – 128 127
short (Си)
16 – 32 768 32 767
int (Си)
32 – 2 147 483 648 2 147 483 647
long (Си)
64 – 263 263 – 1
long long (Си)
Одна и та же кодовая комбинация может обозначать различные числа,
в зависимости от типа, от того как ее интерпретировать – как знаковую или
беззнаковую (Рис. 15).
Рис. 15
Рис. 16
Рис. 17
Рис. 18
Рис. 20
Поразрядные операции
Поразрядные операции выполняются с отдельными битами числа и не
влияют на остальные. Рассмотрим эти операции в Си и Python. Побитовые
операции (кроме сдвига вправо) не зависят от того, знаковый операнд или
без знака.
Операция «НЕ» (инверсия ~).
Рис. 22
Рис. 24
Рис. 26
Рис. 27
Рис. 28
Рис. 30
Рис. 31
Нормализованное число содержит в мантиссе ровно один разряд в
целой части, он отличен от 0, а порядок находится в допустимых пределах,
определяемых разрядностью поля порядка.
Ненормализованное число может содержать в целой части мантиссы
более одного разряда, отличного от 0, или ни одного, такое число можно
нормализовать, если оно не выйдет за границы разрядной сетки, при
нормализации возможна потеря точности.
Денормализованное число – число, которое в данных разрядностях
мантиссы и порядка невозможно нормализовать (поскольку величина
слишком мала).
В компьютере число с плавающей точкой, согласно стандарту,
хранится в виде, показанном на рисунке Рис. 32.
Рис. 32
Рис. 33
𝑘−1
Формула для расчета ±2𝑃−2 +1 (1 + 𝑍) ∙ 2−𝑛 , где k – количество битов
порядка, n – количество битов мантиссы.
Рис. 34
Рис. 35
Рис. 36
Рассмотрим примеры представления в 32-х битном формате IEEE754,
представим число 13,375. В таком формате на порядок отводится 8 битов и
23 бита на мантиссу. Смещение для порядка равно 28−1 − 1 = 127.
Рис. 37
Рис. 38
Рис. 39
Рис. 40
Рис. 41
Рис. 42
Рис. 43
Рис. 44
Рис. 46