Your cart is currently empty!
原码 补码 反码 转换
是看着这篇文章学的
张子秋的博客(https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html)
原文写的很棒
机器数
计算机1,0组成, 电脑的最小存储单位是字节(Byte), 一个字节, 是由八位二进制位组成的)
+3转换为机器数 00000011
-3 转换为机器数 10000011
计算机使用最高位作为符号位, 第一位, 0为正, 1为负
真值
如果直接将 -3 的机器数 10000011 转换为十进制, 那么将是 131, (被称为_形式值_).
但我们也知道对的答案应该是-3, 所以-3是10000011的真值.
原码
嗯.. 上面说完了, 八位二进制原码的范围是
[11111111, 01111111]
也就是 [-127, +127]
反码 和 补码
- 正数的反码补码都是其本身
- 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. 补码需+1
例子:
+1
[00000001]原
[00000001]反
[00000001]补
-1
[10000001]原
[11111110]反
[11111111]补
发表回复