Как мы получили это действительное число в двоичном виде? - PullRequest
1 голос
/ 30 сентября 2011

из этой статьи :

число 5,125 (двоичное 101,001) почему?101 - это 5, но как преобразуются десятичные разряды?

Также из этой статьи - смещение добавляется к фактическому показателю e.

Что такое уклон?Какова цель этого?

Ответы [ 4 ]

4 голосов
/ 30 сентября 2011

Почему b101.001 = 5.125?

Так работают цифры после двоичной точки.Они похожи на цифры после десятичной точки в base10 (обычно известные как «десятичные дроби»).

b10 = 2^1
b1 = 2^0
b0.1 = 2^-1
b0.01 = 2^-2
b0.001 = 2^-3 = 0.125

Это представление называется фиксированной точкой.Подробнее здесь .


Что такое смещение экспоненты?

Смещение является частью спецификации для представления чисел с плавающей запятой вдвоичный файл (см. IEEE 754 ).Это число, которое вы добавляете к показателю степени, чтобы преобразовать его из диапазона от -limit до +limit в диапазон от 0 до +2*limit.Это позволяет компьютеру сохранять число с беззнаковой интерпретацией.

Почему смещение экспоненты?

Причина использования смещения экспоненты состоит в том, что это позволиткомпьютер использовать неподписанную систему вместо дополнения двух.Это облегчает сравнение с плавающей точкой.

3 голосов
/ 30 сентября 2011

См. руководство с плавающей точкой для подробного объяснения того, как работают двоичные дроби.

Что такое смещение?Какова цель этого?

A смещенный показатель используется, потому что он позволяет числам с плавающей запятой сравниваться для значения точно так же, как целые числа, то есть, если битовая комбинация Aбольше, чем битовая комбинация B, когда интерпретируется как целое число, то же самое всегда верно, если вы интерпретируете шаблоны как числа с плавающей запятой.

3 голосов
/ 30 сентября 2011

Точно так же: каждая цифра "1" добавляет 2^d, где d - это место цифры. Единица измерения находится на месте 0, место отсчитывается вверх влево и вниз вправо, поэтому место справа от точки равно -1. Так что 0.001 равно 2^-3, или 1/8, или 0.125.


Цель смещения в показателе степени в представлениях с плавающей запятой IEEE754 состоит в том, что вам не требуется дополнительная логика для определения знака показателя степени, и он имеет дополнительное преимущество, заключающееся в том, что лексикографическое упорядочение двоичного представления равно порядку значений (по крайней мере, для фиксированного знака): за 0x00000000, то есть 0.0, следует 0x00000001, что является наименьшим положительным (хотя и ненормальным) числом с плавающей точкой. Его показатель является наименьшим (отрицательным) показателем благодаря смещению.

2 голосов
/ 30 сентября 2011
1 * 2^2  = 4
0 * 2^1  = 0
1 * 2^0  = 1
.
0 * 2^-1 = 0
0 * 2^-2 = 0
1 * 2^-3 = 0.125
----------------
101.001  = 5.125

Показатель степени по основанию продолжает убывать каждую цифру после десятичной точки. Во второй базе это означает, что первая цифра стоит 1/2 = .5, вторая - 1/4 = .25, а третья - 1/8 = 0,125.

Работает так же, как и основание 10: первая цифра 1/10 = 0,1, вторая 1/100 = 0,01 и т. Д ...

...