兰兰想的博客

脑海中的创意, 生活中的点滴
返回列表

原码 补码 反码 转换

Wed Apr 22 2020 19:07:39 GMT+0800 (China Standard Time)


> 是看着这篇文章学的

张子秋的博客(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. 正数的反码补码都是其本身
  2. 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. 补码需+1
例子:

+1
[00000001]原
[00000001]反
[00000001]补

-1
[10000001]原
[11111110]反
[11111111]补

返回列表

相关文章

vc++ 2022 minimum or additional runtime missing the feature you are trying to use is in a network resource that is unavailable

阅读 12/4/2022, 2:12:00 PM

安卓手机屏幕没有显示 转移出数据的方法

阅读 12/13/2021, 10:00:00 PM

nodejs 直接升级(不影响当前正在运行程序)

阅读 12/11/2021, 9:03:26 PM

Open Graph Protocol(开放内容协议)

阅读 12/8/2021, 11:05:00 PM

pixel experience + magisk 支付宝刷脸

阅读 12/8/2021, 9:31:15 AM

IDEA SECTOR