我想问一下,-1以十六进制形式输出,结果为什么是ffff?
我想问一下,-1以十六进制形式输出,结果为什么是ffff?
日期:2008-01-28 16:09:54 人气:1
在计算机里,所有的东西都是用2进制储存的。
1在2进制中就是1。负号在2进制里是最高位为1。-1在2进制中是16个1(在单字的情况下)
通俗点说,就是正1的加上负的1的和应该是一个1后面16个0,(10000000000000000)
因为单字的时候只有16位,所以就变成16个0了(首位溢出了)。此时正好为0。和我们理解的10进制的加法一样。
故-1在16进制中是0xffff,-2是0xfffd