Представление бесконечного двоичного числа - PullRequest
0 голосов
/ 09 ноября 2011

Я читал, что 25 февраля 1991 года, во время войны в Персидском заливе, батарея американской "Патриот" в Дахране, Саудовская Аравия, не смогла перехватить поступающую иракскую ракету "Скад". Причина была в том, что 1/10 была представлена ​​в 24 битах (1/10 - это бесконечное двоичное число). Я хотел знать, как мы представляем такое число, скажем, 32 или 64?

1 Ответ

1 голос
/ 23 ноября 2011

0,1 десятичная дробь - это бесконечная (повторяющаяся) дробь в двоичном виде: 0,0 (0011), где () обозначает повторяющуюся часть. Вот оно, усеченное после 80 дробных бит (я использовал мой двоичный преобразователь , чтобы произвести это):

0.00011001100110011001100110011001100110011001100110011001100110011001100110011001 ...

Округлено до 24 значимо бит (число с плавающей запятой), это 0,000110011001100110011001101. Округлено до 53 значимых битов (двойных), это 0,0001100110011001100110011001100110011001100110011001101.

...