Все гораздо проще, чем может показаться. В десятичной записи числа цифры справа от десятичного разделителя соответствуют отрицательным степеням числа 10. В двоичной записи цифры справа от
101,1101 1 × 4 +
0 × 2 +
1 × 1 +
1 ÷ 2 +
1 : 4 +
0 : 8 +
1 : 16
Операции деления можно заменить умножением на отрицательные степени числа 2:
1 × 22 +
0 × 21 +
1 × 20 +
1 × 2–1 +
1 × 2–2 +
0 × 2–3 +
1 × 2–4.
Отрицательные степени числа 2 можно также рассчитать путем последовательного деления 1 на 2:
1 × 4 +
0 × 2 +
1 × 1 +
1 × 0,5 +
1 × 0,25 +
0 × 0,125 +
1 × 0,0625.
В результате этого вычисления находим, что десятичный эквивалент двоичного числа 101,1101 равен 5,8125.
В десятичной научной нотации нормализованная значащая часть числа должна быть больше или равна 1, но меньше 10. Таким же образом в двоичной научной нотации нормализованная значащая часть числа должна быть больше либо равна 1, но меньше числа 10, которое соответствует 2 в десятичной системе счисления. Выразим число в двоичной научной нотации.
101,1101 1,011101 × 22
Интересное следствие этого правила: слева от двоичного разделителя в нормализованном двоичном числе с плавающей точкой может стоять только 1.
У большинства современных компьютеров и программ, использующих числа с плавающей точкой, применяется стандарт, введенный в 1985 году Институтом инженеров электротехники и электроники (Institute of Electrical and Electronics Engineers, IEEE) и признанный Американским национальным институтом стандартов (American National Standards Institute, ANSI), — ANSI/IEEE Std 754–1985,
Стандарт IEEE предусматривает два основных формата: число
Сначала рассмотрим число одинарной точности. Оно состоит из трех частей: один бит отводится для знака (0 используется для положительного числа, а 1 — для отрицательного), восемь бит — для порядка, а 23 бита — для дробной значащей части числа, в которой самый младший бит — крайний справа.
1 знаковый бит (
8 битов порядка (
23 бита дробной значащей части (
Итого 32 бита, или четыре байта. Поскольку в значащей части нормализованного двоичного числа с плавающей точкой слева от двоичного разделителя всегда стоит 1, соответствующий ей бит не включается при сохранении числа в формате IEEE. Сохраняется только 23-битная
Значение 8-битного порядка находится в диапазоне от 0 до 255. Такой порядок называется
Значения порядка 0 и 255 используются в особых случаях, о которых расскажу чуть позже. Если значение порядка принадлежит диапазону от 1 до 254, то число, представленное конкретными значениями
(–1)s × 1,
Выражение (–1)s используется для определения знака числа. Если
Следующая часть выражения 1,
Я не упомянул о способе выражения такого распространенного числа, как 0. Похоже, о нем мы и забыли. Для этого предусмотрено несколько особых случаев:
если
если
(–1)s × 0,
обратите внимание на 0 слева от двоичного разделителя значащей части;
если
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии