问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

单片机原理及应用中的十进制数与二进制数原码、反码、补码详细解答

发布网友 发布时间:2022-05-02 12:49

我来回答

5个回答

热心网友 时间:2022-06-20 03:31

首先得说明的一点,原码、反码、补码都是有符号定点数的表示方法。是吧,没有符号而言就不会出现+0与-0了呀,呵呵。
原码就是这个数本身的二进制形式。
例如:0000001 就是+1 1000001 就是-1
首先要说明的是:正数的反码和补码都是和原码相同的;
还是再重申一下吧
〔1〕原码:这个数本身的二进制形式。 例如十进制的8的原玛就是01000,就是用二进制表示〔2〕反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。
〔3〕补码:负数的补码是将其原码除符号位之外的各位求反之后在末位再加1。
正数没什么好讲的,就说说负数吧:负数的原码,依旧是一个数本身的二进制形式,也就是说十进制的-8的原码就是11000[注意,第一位1是符号'-'哦];反码呢,将二进制数按位取反,所得的新二进制数称为原二进制数的反码。取反操作指:原为1,变为0;原为0,变为1。(1变0; 0变1),这个简单理解吧。实际上,这样说不够准确,因为我们还要除掉符号位再这样取反。
看好了-8的原码:11000----->-8的反码就是原码除了符号位之后的其他位都按位取反10111

符号位
-8原码 1 1 0 0 0
-8反码 1 0 1 1 1

现在懂什么是原码和反码了吧,我已经尽力了,呵呵。好啦,该补码登场啦。
补码,简单地说就是反码末位〔最后一位〕+1
为什么要设立补码呢?
第一是为了能让计算机执行减法:
[a-b]补=a补+(-b)补
第二个原因是为了统一正0和负0
正零:00000000
负零:10000000
这两个数其实都是0,但他们的原码却有不同的表示。
但是他们的补码是一样的,都是00000000
特别注意,如果+1之后有进位的,要一直往前进位,包括符号位!(这和反码是不同的!)
[10000000]补
=[10000000]反+1
=11111111+1
=(1)00000000
=00000000(最高位溢出了,符号位变成了0)

我不知道朋友您看了上面的是否真的懂了,或许还不知道什么叫做”溢出”吧

所谓的溢出就是当我们要表示的数位不够表示了

我们的二进制的位数一般有个具体的范围:

例如一个字节就是8位,超过8位当然就溢出了

以8位为例子,看好啦

符号位

0 1 1 1 1 1 1 1 1

+ 0 1

------------------------------------

0 [1]0 0 0 0 0 0 0 0

[1]表示就是进位没地方放了,怎么说呢,好象在十进制中,我有99个盒子已经装了99对鞋子,当第 100双鞋子没地方放了一样,超出了盒子个数,这样就产生了所谓的溢出了

好,我们再回到上面反码的例子,(别忘记我们是在介绍反码了)

符号位

[ 1 0 0 0 0 0 0 0]补

=〔 1 0 0 0 0 0 0 0]反+1
= 1 1 1 1 1 1 1 1 ------看到反码的取反操作在其中哦,0都变成1

+ 1

----------------------------------
= 1 (1) 0 0 0 0 0 0 0
= 0 0 0 0 0 0 0 0(最高位溢出了,符号位变成了0)

看到符号位也参与了计算一样1+1就变成了0,至于进位的1就丢失了

从而变成了全0

现在我们再来看看,原码 +0 的补码就是:0000 0000〔原因是补码和原玛是一样的〕

原玛 -0 的补码就是:0000 0000

是不是一样了,这样就消除了二异性了,不要说有-0与+0之分了

不知道朋友您是否还会觉得有什么不妥呢????
也许你会问
10000000这个补码表示的哪个数的补码呢?
其实这是一个规定,这个数表示的是-128
所以n位补码能表示的范围是
-2^(n-1)到2^(n-1)-1
比n位原码能表示的数多一个

原码,反码,补码 都是指二进制的形式,所以十进制的对应码为二进制数,注意负数的符号位,二进制数的码制转换就按照我上面说的啦,看仔细,多想一想,捡几个数做做练习一下,你就会啦,关键是练习。

其实就是这样的,单片机中的也就是计算机中的码制转换,单片机也叫微机嘛,即微型计算机,呵呵

热心网友 时间:2022-06-20 03:32

第一位是符号位,-23的这位是1。
23的原码是10111,前面补两个0,就是0010111
所以-23的原码就是10010111
反码就是11101000
补码就是反码+1=11101001

热心网友 时间:2022-06-20 03:32

关键是明白原理就好了,
反码=原码(>0)
=原码逐位取反(<0)
=0的话分正反两种
补码= 原码(>0)
= 原码最高位不变,其他逐位取反,得到的值在加1(<0)
=0分正反两种
至于计算机中为什么采用补码形式,原理比较麻烦

热心网友 时间:2022-06-20 03:33

整这些,就是被人忽悠了。
知道补码,就够用了,计算机里面,根本不存在原码和反码。

热心网友 时间:2022-06-20 03:33

参考一下:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/d92cc986c2a1523bc75cc380.html
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
万家乐热水器故障代码e1什么意思? win7旗舰版无法安装net4.0怎么回事 win7旗舰版无法安装net4.0解决方法... 为什么别人能在他们的手机上看到我的微信联系人和聊天内容 申请微信的手机号停用了,手机也换了。我不记得微信号,记得密码,这种情况... 电脑钉钉哪个好电脑版钉钉最新版本是哪个 电脑开机蓝屏,安全模式进不去,蓝屏代码如下,请教高手这个怎么解决,谢谢... 系统启动后出现蓝屏,错误代码如下:***stop:0x000000F4请高手帮忙解决... 按照百度空间里的操作怎样添加背景音乐?以下: 空间怎么添加背景音乐啊,大概步骤知道,就是操作到歌曲链接的时候... 百度空间怎么修改和添加背景音乐? 单片机补码问题 单片机补码 单片机的补码有什么意义? 关于单片机的原码,反码,补码 之 汇编程序的问题 什么是单片机的补码,有什么意义? 给癌症晚期病人家属一点安慰的话 探望肝癌晚期病人说什么好 看望肝癌晚期患者应说什么话 女朋友妈妈肺癌,晚期,我去看望,应该说些什么,买什么去看望好一些? 看望癌症病人的祝福语 去看望癌症晚期的朋友家人,该聊些什么? 如何安慰一个癌症晚期的病人? 去看望一个患有癌症晚期的人时应该说些什么话比较好 外地人的子女在上海考大学需要哪些条件? 2021不允许报名高考的条件是什么? 外地考上海的大学具体要什么要求?怎么报考 想要报考上海体育职业学院,自身要具备什么条件? 上海异地高考需要什么条件? 在上海高考需要什么条件 如何除去衣服上的石榴汁污渍? 为什么51单片机定时器赋初值十六进制数要用补码 单片机原理及应用中.补码是怎样表示负数的 单片机中的存储器地址编码是补码吗? 有关于单片机里的原码\反码\补码的问题请教一下高手 有符号+5和-5在单片机的补码分别是? 单片机补码计算,对不对? 单片机中-30的原码和补码是怎么算的 单片机答案编程求16位补码对应原码 单片机中-3的补码是? 瘦美堂的创始人,因为什么开始从事瘦身行业? 瘦美堂创始人推出的产品,她自己使用吗? 型美堂专业减肥怎么样 旅顺有瘦美堂吗? 瘦美堂创始人是怎样的一位领导,好相处吗? 瘦美堂的创始人怎么看待新零售? 瘦美堂创始人对于新零售是什么样的看法? 尚美堂减肥效果怎么样 瘦美堂新零售,目前有哪些方式来发展? 臻美堂的3分钟无食谱减肥效果怎么样? 瘦美堂发展社交新零售,是以什么为核心呢?
  • 焦点

最新推荐

猜你喜欢

热门推荐