Длина дроби больше, чем размер слова

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

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 Мировое значение = сохраненное целое число × 2 Длина дроби.

Начните с нахождения сохраненного целого числа x.

Q = storedInteger(x)
Q =

   96

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

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

    0.0234

См. также

Для просмотра документации необходимо авторизоваться на сайте