补码运算问题
int长度为2,-32768的二进制数为1000000000000000,可怎么看这都是-0,怎么表示-32768呢?有人说什么补码,有点不解,还望指教。
[解决办法]
计算机处理负数时是按补码来处理,而人来处理负数时习惯用10进制来处理,要把补码还原成10进制,正如LZ说的那样要把补码变为原码后按权展开。这个问题说明了一个数的不同表示法。
就好比一个光波,可以在时域用时间表示,还可以在频域用频率表示的道理一样。
发布时间: 2012-02-20 21:18:23 作者: rapoo
补码运算问题
int长度为2,-32768的二进制数为1000000000000000,可怎么看这都是-0,怎么表示-32768呢?有人说什么补码,有点不解,还望指教。
[解决办法]
计算机处理负数时是按补码来处理,而人来处理负数时习惯用10进制来处理,要把补码还原成10进制,正如LZ说的那样要把补码变为原码后按权展开。这个问题说明了一个数的不同表示法。
就好比一个光波,可以在时域用时间表示,还可以在频域用频率表示的道理一样。