VC++中,非运算(~10)结果为0101,为什么转换为十进制是-11??怎样识别二进制中的正负?

日期:2012-06-01 17:13:29 人气:1

VC++中,非运算(~10)结果为0101,为什么转换为十进制是-11??怎样识别二进制中的正负?

在现在的主流32位系统里,一般一个整型int是4个字节32位,在符号整数时,最高位表示符号,0为正,1为负。并且在计算机中正负数都是用其补码表示的。 10的二进制是00000000 00000000 00000000 00001010 非运算各位取反得11111111 111111111 11111111 11110101,这个实际上就是-11的补码。 -11的原码: 10000000 00000000 00000000 00001011 -11的反码(原码基础上,符号位不变,其余各位取反):
    A+
热门评论