1.在做转换之前我们要知道在工作台输出的是原码,但在内存中存的是补码。
2.正数的原码、补码和反码都一样
int a = -3
-3的二进制是10000000 00000000 00000000 00000011,即-3的原码
反码是在原码基础上除符号位不变其余取反,原码最高位即符号位
反码:11111111 11111111 11111111 11111100
补码:反码最低位+1
-3的补码是11111111 11111111 11111111 11111101
结论:
1.正数的原码、反码和补码都相同
2.反码是原码除符号位不变其余取反
3.补码是反码最低位加1
4.计算机内存存储的是补码,但输入的是原码
第一次在csdn记录,不知道该怎么写清楚,单纯自己做笔记