我想问一下,-1以十六进制形式输出,结果为什么是ffff?

日期:2008-01-28 16:09:54 人气:1

我想问一下,-1以十六进制形式输出,结果为什么是ffff?

在计算机里,所有的东西都是用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
    A+
热门评论