原码,反码,补码

what?(是什么)

先来个感性认识:

如果把路线A-B-D称为“原码”,

那路线D-B-A就是“反码”

A-C-D就是“补码”

 

均是一种编码形式,规则为:符号位+数值位

符号位:0代表正数,1代表负数

数值位:二进制的数

比如 0 0000111 代表 +7 

——————————————————————————————————————————————

why?(出现的必然)

就像我们要想和一个只懂英语的人交流,就需要把中文翻译为英文,

如果我们想和只懂0、1的计算机交流,就需要把十进制的数翻译为二进制的。

举个栗子,我们想对计算机说“7”,需要说成“0 0000111”,后者就是原码

反码的作用是将“减法”的问题变为“加法”的问题,因为计算机cpu的运算器中只有加法器,换句话说,计算机只能做加法。

[哈哈,有没有一种作为人类的自豪感……]

如:

10-4=10+(-4)

(10-4)补=(10)补+(-4)补=00001010 + 1111 1100=0000 0110补=0000 0110反=0000 0110原=6

[这句是在网上看的,小仙女表示不懂,脑袋转不过来]

补码:似乎和反码要解决的问题是一样的。

——————————————————————————————————————————————

how?(怎么运作的,使用规则)

正整数的原码、反码、补码完全一样,即符号位固定为0,数值位相同

负整数的原码,反码和补码计算,先求原码,再求反码,最后求补码

小结

 

(1)对二进制和十进制转换不明白的童鞋可以看:http://jingyan.baidu.com/article/597a0643614568312b5243c0.html

(2)how部分借鉴了:http://jingyan.baidu.com/article/1e5468f90a9568484861b77c.html

(3)学习这段知识的感受:

 

有些时候就会觉得,计算机的世界是简洁和严丝吻合的,也或许,每个世界都有自己的规则,要想更好地在其内生活下去,只要知道并遵守其规则就行。

这就像一个原始人类来到人类社会,他如果能按照人类社会的规则行走,

比如红灯停绿灯行,而不是横冲直撞;

比如到商店拿了东西付钱,而不是拿了就走;

……

那他就能在人类社会生活下去。

当保证了基本的生存以后,他也能进行创造,比如写首诗,编个篮筐等。

这或许和我们人类去计算机的世界生活的道理是一样的。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡夫卡的熊kfk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值