Лекция: Дробные числа.
Числа с фиксированной точкой.
1. Числа по абсолютной величине меньше 1. |x|<1
Они имеют вид ±0. B-1 b-2… bi-двоичные числа.
Для записи в ячейку памяти символы ноль и точка не изображаются, а число записывается в виде сокращенного кода.
Ϛ b-1 b-2 …, где Ϛ=0, если x>0 и Ϛ=1, если x<02
2. Число смешанное |x|<2
±b0. b-1 b-2…
Точку можно опустить, т.к. она всегда стоит после левой цифры, а в память записывается число Ϛb0b-1 b-2…
Частный случай, если записываются целые числа, то у них точка ставится после крайней правой цифры.
Числа с плавающей точкой.
X=Mx*SPx, где Mx – мантисса Х, Рх – целое со знаком, S- основание СС
Примеры:
X=16,125 10
X1=0.16125*102
X2=0.016125*103
X3=1612.5*10-2
X=16.12510=10000.001*20
X1=1.0000001*2-100
X2=0.10000001*2-101
Количество вариантов кодирования числа не ограничено. Однако, не все годятся для записи в памяти. Мантисса записывается как число с ФТ, т.к. ее сокращенный код и, как правило, мантисса по модулю меньше единицы.(|Mx|<1)
Порядок числа – это целое число со знаком. Логично было бы разбить ячейку на 4 части. Однако, порядок числа записывается в коде со смещением, поэтому нет позиции для знака. Мантисса записывается в память в прямом коде. Знаковая позиция имеет самостоятельное значение.
Формат записи:
| Px |
| Mx |
| Знак мантиссы |
Число называется нормализованным, если порядок числа имеет наименьшее возможное значение.
Нормализованные числа
Дано: х=11.0112 и у=0.001012
|M|<1: х=11.011=011011*2010 Рх=010
Мх=11011
У=0.00101=0.101*2-010
My=101, Py=-010
|M|<2: Xн=1.1011*2001, Ун=1.01*2-011
Мх=1011, Рх=011; Му=01, Ру=-011