Представление с фиксированной точкой и представление с плавающей точкой на [0,1]

Каковы различия / сходства между представлением значения с фиксированной запятой (на уровне битов) значения в [0,1] и его значением с плавающей запятой (на уровне битов)?

1 ответ

В представлении с фиксированной запятой каждый бит представляет фиксированное значение. Например, в простом двоичном целочисленном формате младший (наименее значимый) бит представляет 1, следующий представляет 2, следующий представляет 4, затем 8 и так далее. Представленное число является суммой значений установленных битов. (Я опущу обсуждение бита знака и дополнения до двух или других вариантов.)

Для других представлений с фиксированной точкой значения масштабируются на фиксированную величину. Например, в формате Q.8 каждый бит будет иметь 1/256-е значение (2-16) от значения, которое он имеет при обычном целочисленном масштабировании. Таким образом, младший бит будет представлять 2−16, следующие2–15 и т. Д.

Для представлений с плавающей точкой значения битов плавают. Они определяются показателем степени. Биты разделены на биты, которые представляют основное значение (называемое значимым, также называемым дробной частью или, в традиционных документах, мантиссой) и биты, которые представляют показатель степени, вместе с битом для знака. Биты экспоненты обычно используют двоичный целочисленный формат наряду с некоторым фиксированным смещением (например, взять двоичное целое число, представленное целочисленными битами, и вычесть 127, чтобы получить значение, представленное для экспоненты). Кроме того, некоторые значения экспонентных битов могут быть зарезервированы для особых случаев, таких как бесконечности, NaN и субнормальные числа.

Как только значение экспоненты е определено, значащие и биты имеют значения, которые масштабируются на 2е. Обычно существует неявный бит со значением 2e, старший явный бит имеет значение 2e-1, следующие 2e-2 и так далее.

Другие вопросы по тегам