看书知道了有关概念,即不论正数或者负数都是以补码形式存放,又因为正数的补码原码一样,所以用负数来进行验证。
#include<stdio.h>
int main() {
//测试
printf("%x\n", -5);//结果是FFFFFFFB
return 0;
}
// -5 (int占4个字节,每个字节8bit)
// 1000 0000 0000 0000 0000 0000 0000 0101 原码
// 1111 1111 1111 1111 1111 1111 1111 1010 补码
// 1111 1111 1111 1111 1111 1111 1111 1011 反码
// F F F F F F F B 反码的16进制