Java/原码 反码 补码
🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒
1 + (-2) = -1
🖥️的操作
Step 1
找到1的补码
Step 2
找到-2的补码
Step 3
补码相加存储
🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒
Details
🧠最容易想到的是原码
Step 1
正数1的补码 = 原码
00000000 00000000 00000000 00000001//补
Step 2
-2的补码
10000000 00000000 00000000 00000010//原
11111111 11111111 11111111 11111101//反
11111111 11111111 11111111 11111110//补
Step 3
补码相加
11111111 11111111 11111111 11111111存下来
🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒
要得到答案就要得到原码计算
补码
11111111 11111111 11111111 11111111
再得到反码//补码-1
11111111 11111111 11111111 11111110
再得到原码//反码取反除了最高位
10000000 00000000 00000000 00000001
最后经过脑回路得到
-1
🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒🍒
Notes:
- 🖥️用补码存储,用补码化➖为➕运算进行存储
- 🧠用原码进行运算将二进制转换成十进制数
- ✨负数原码变反码时符号位(最高位)不变
- 🍀 正数的原码反码补码相同