Отрицательная дробная длина

Отрицательная дробная длина возникает когда входное значение fi объект содержит конечные нули перед десятичной точкой. Например,

x = fi(16000,1,8)

производит номер фиксированной точки со знаком с размером слова 8 битов и лучшей длины части точности.

x = 

       16000

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

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

disp(bin(x))
01111101

Существует семь неявных нулей в конце этого номера перед двоичной точкой потому что дробная длина x -7.

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

bin2dec('011111010000000')
ans =

       16000

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

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

Запустите путем нахождения сохраненного целого числа x.

Q = storedInteger(x)
Q =

  125

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

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

       16000

Смотрите также