一个简单的C语言题

分别用以下指定的形式来表示十进制数41,写出其编码。(1)原码(2)反码(3)补码(4)BCD码题目一字不漏,顺便问下编码是怎么回事,BCD码又是怎么回事的,谢谢啦原码,... 分别用以下指定的形式来表示十进制数41,写出其编码。
(1)原码
(2)反码
(3)补码
(4)BCD码

题目一字不漏,顺便问下编码是怎么回事,BCD码又是怎么回事的,谢谢啦
原码,反码,补码只能用二进制的形式表示吗?
展开
 我来答
calrincalrin
2010-10-23 · 超过25用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:80.2万
展开全部
为什么需要编码?因为计算机世界只有0和1之分,而现实世界,我们常用的是十进制。为了让计算机和现实世界联系起来,编码便诞生了。计算机中,采用字节来存储信息,一个字节有8个二进制位组成。
首先需要知道,编码方式有很多种,如ASCII编码,BCD编码等等。最后被人们广泛接受和使用的,才是最经典的。你说的BCD码用的不多,至少我是这么认为的。说说BCD编码规则,它是用4位二进制数来表示一个十进制数。如,41的BCD码为 0100 0001,这个好理解吧!0100表示4,0001表示1.
而原码、反码和补码是计算机世界采用的编码方式,现在BCD码在计算机中用的很少。计算机实际存放的是数据的补码,原码和反码是为了让人们好理解,弄出来的概念。
最后来回答你的问题,41的原码为0010 1001 ,反码为0010 1001,补码和原码一样,还是0010 1001。
为什么是这样的呢,先看三个规则:
1.所谓原码就是二进制定点表示法,即最高位为号符位,“0”表示正,“1”表示负,其余位表示数值的大小。
2.反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
3、补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
41 = 32+8+1,因为是正数,所以最高位为0,这样得出来的是原码。反码呢,按照规则,也是这么多,好理解吧!补码就稍微麻烦点,如果原数是一个正数,则补码和原码相同,如果原数是一个负数,则结果是其反码的最后一位加1.
相信你应该懂了! 希望可以帮到你!
密码比较简单
2010-10-23 · TA获得超过1996个赞
知道小有建树答主
回答量:1083
采纳率:0%
帮助的人:757万
展开全部
101001
101001
101001
01000001
说不清楚,自己去看本叫数字电路的书
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kongwq16
2010-10-23 · TA获得超过392个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:281万
展开全部
原码:101001
反码:010110
补码:010111
BCD码:01000001
原码就是把十进制转成的二进制码,数值和十进制一样,反码是对原码按位取反,即0变1,1变0,补码是对原码取反加1,之所以引入反码这些事为了方便计算机的运算,BCD码是把十进制的每个数位的值用四位二进制码表示,如上面的41BCD码01000001前四位是十进制4,后四位是十进制1,不过BCD码包含有权码和无权吗,有权码中的8421码就是直接用二进制的0000--1001来表示十进制的0--9,比较简单,常用。目前常见的无权码有余三码、格雷码等,具体百度或者看书,很多计算机专业的书籍都会说到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星桂花类淑
2020-01-26 · TA获得超过3.9万个赞
知道大有可为答主
回答量:1.4万
采纳率:31%
帮助的人:722万
展开全部
scanf里的是%2d%f接受模式
所以最先输入的两个字符(即87)被截取
送给变量a

然后是%f
将紧跟输入的一个字符(即6)截取送给变量b
float型默认保留7位有效数字
所以b是6.000000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式