实验环境win7 64位,vs2008
查看int类型变量的值在内存中是如何存储的
int四个字节
先看正数
正整数在内存中存储内存是高放在高,我们看得顺序应该是
00 00 00 0a
a等于10
再看负数
负整数在内存中存储同理先转换 ff ff ff f6
转换成反码 ff ff ff f5
5的二进制 0101取反1010就是a
转换成源码80 00 00 0a
现在就会发现为什么变成f6了。会有疑问对吧。前面整数时10对应a没错。
因为int类型存储是用补码存储的
cpu只有加法器算不了减法
现在懂得用补码存储。那上面内容看得懂把。
无符号第一位不是符号位。所以用不到补码。用平常理解几是几就好了。
网友评论