什么是原码、反码、补码?
计算机中整数有三种表示方法:原码、反码、补码。
原码:将其他进制的数按照正负数的形式转换成的二进制数
反码:符号位不变,其它位按位取反
补码:反码加1
int a = -5;
//int类型占4个字节,共32个bit位
//a的原码:10000000 00000000 00000000 00000101
//a的反码:11111111 11111111 11111111 11111010
//a的补码:11111111 11111111 11111111 11111011
int b = 3;
//b的原码:00000000 00000000 00000000 00000011
//b的反码:00000000 00000000 00000000 00000011
//b的补码:00000000 00000000 00000000 00000011
1.正数的符号位是0,负数的符号位是1;
2.正数、无符号数的原码、反码、补码相同;
3.计算机内存中整数存储的是补码。