1)负数的原码:符号位为1,数值位为其绝对值。
如下面的-97。
2)计算机和fpga使用的运算都是补码,而不是原码。不同bit的减法得到的结果一样。如果当然原码就错了。
例:不同位宽的两个数相减,fpga相减后,得到的两个结果。他们都表示的是-6,但是它不是-6的原码,而是-6的补码。
4bit 0-6 =-6 8bit 0-6 =-6
0 0 0 0 0 0 0 0 0 0 0 0
- 0 1 1 0 - 0 0 0 0 0 1 1 0
1 0 1 0 1 1 1 1 1 0 1 0
*****************************************************************************
-6的补码,进行求证,以上说法。
4bit 8bit
原码: 1 1 1 0 1 0 0 0 0 1 1 0
反码: 1