定点格式的负数

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