exponenta event banner

Длина дроби больше длины слова

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

x = fi(.0234,1,8)
x = 

    0.0234

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 12

Просмотр двоичного представления x.

disp(bin(x))
01100000

После двоичной точки и перед двоичным представлением сохраненного целого числа есть четыре неявных начальных нуля, поскольку длина дроби x на четыре больше, чем длина слова.

Преобразование двоичного представления из двоичного в десятичное x с четырьмя начальными нулями и масштабировать это значение в соответствии с длиной дроби.

bin2dec('000001100000')*2^(-12)
ans =

    0.0234

Результатом является реальная стоимость x.

Можно также найти значение реального мира с помощью уравнения Real   World Value = Stored Integer Value  × 2 − Длина дроби.

Начните с поиска сохраненного целого числа x.

Q = storedInteger(x)
Q =

   96

Используйте сохраненное целое число, чтобы найти реальное значение x.

real_world_value = double(Q) * 2^-x.FractionLength
real_world_value =

    0.0234

См. также