定点格式的负数
Negative numbers in fixed point format
如果我有一个数字 -1.101001_2 * 2^(-4)
,十进制为 -0.1025390625
,这个数字的正确定点表示法是什么?
根据我对定点的理解,这意味着它应该是有符号的,所以我认为这将给出一个字长为 12 的小数长度为 10,即:
1 0 0001101001
(s) (frac)
--- (word)-------
但这似乎不正确,因为 100001101001
字长为 12,小数长度为 10(1 个有符号位)却给出 -1.8975
。
我是不是理解有误?
我怀疑您混淆了带符号值的符号大小和补码表示。定点数被视为整数,因此如果您想要有符号的定点值,它们几乎肯定会使用二进制补码表示。
如果你的真实值为-0.1025390625并且你有10个小数位那么对应的定点值为
-0.1025390625 * 210 = -105
-105 的正确 12 位二进制补码表示是 1111 1001 0111
如果我有一个数字 -1.101001_2 * 2^(-4)
,十进制为 -0.1025390625
,这个数字的正确定点表示法是什么?
根据我对定点的理解,这意味着它应该是有符号的,所以我认为这将给出一个字长为 12 的小数长度为 10,即:
1 0 0001101001
(s) (frac)
--- (word)-------
但这似乎不正确,因为 100001101001
字长为 12,小数长度为 10(1 个有符号位)却给出 -1.8975
。
我是不是理解有误?
我怀疑您混淆了带符号值的符号大小和补码表示。定点数被视为整数,因此如果您想要有符号的定点值,它们几乎肯定会使用二进制补码表示。
如果你的真实值为-0.1025390625并且你有10个小数位那么对应的定点值为 -0.1025390625 * 210 = -105
-105 的正确 12 位二进制补码表示是 1111 1001 0111