有符号整型和无符号整型的计算

int 类型占四个字节,一个字节8位,即int类型有32位
unsigned int 占2个字节,即16位
以一道题为例:
       unsigned int i=10;
       int j=-20;
       i+j=?
在程序中负数用补码进行运算,int为32位,所以-20的补码是1111 1111 1111 1111 1111 1111 1110 1100,unsigned int i=10 为16位,即0000 0000 0000 1010,相加得到1111 1111 1111 1111 1111 1111 1111 0110,换算成十进制,所以i+j=4294967286。
程序如下:
运行结果如下:

猜你喜欢

转载自blog.csdn.net/qq_37655087/article/details/78257133