2.1.3 BCD 码
xyxznb hhh~
加油(҂◔∀◐҂)☆万圣节快乐♬☆
◥(ฅº₩ºฅ)◤ 不给糖就捣蛋 ☆
好的,这一小节我们要学习的是BCD嘛,那BCD码的意思是说使用二进制来编码的10进制数,我们要学习三种BCD吗?分别是8421吗?雨伞码和2421吗?那8421码是我们需要重点掌握的,我们需要学会把S2V1码的加法运算怎么执行好,那首先来解释一下BCD码的一个作用,在上个小节中我们学习了二进制数和10进制数,其中二进制数是比较方便让计算机来处理的,但是实际之数又比较符合我们人类的一个阅读习惯,那如果我们想要把二进制转换成十进制的话,可以用每一个数码为乘以这个数马喂上的权值进行一个相乘相加的操作,就可以转换成与之对应的10进制的值那是用这种方式把机器数转换成我们熟悉的十进制数是比较麻烦的那是用这种方式把机器数转换成我们熟悉的十进制数是比较麻烦的而。转换成与之对应的十进制的值,那使用这种方式把机器数转换成我们熟悉的十进制数是比较麻烦的,而BCD嘛,就是为了解决这个问题,用BCD码来表示数字的原理是这样的,我们可以用4个二进制位,也就是4个比特的信息来对应上一个10进制位,因为4个二进制位可以表示的状态应该是有2的4次方也就是可以表示10 16种状态,而这16种状态就足够用来表示10进制,里边可能会出现的0~9这10种字符,那显然我们会有6种状态是冗余的好,那这就是BCD码的一个思路,每4个二进制位对应一个10进制的字符那这就可以让我们很方便地把bcd嘛转换成十进制十进制快速的转乘bcd吗。二进制位的权重分别是8421,也就是我们最熟悉的二进制的啊,一个全值的这种分配,所以按照这样的设计我们要表示10进制的,比如说表示5的话,那么就应该是0101因为4+1=5,然后如果要表示9的话就应该是10 01,这个是等于9号以此类推,那这张表给出了0~9这几个数和8421马的一个相互映射的关系,好,那如果我们想要用这种8421码的策略来表示一个数,呃比比如说表示表示985这个数,那在计算机里存储这个数就应该是1001然后八十七零零零五十铃一九八五十禁止使用八四二幺吗最终在计算机内。00制的数字应该怎么进行加法运算呢啊?5和8用8421码分别是这样的一个表示方式,那5+8的结果应该是等于啊,13,所以如果用一个投机取巧呃人工计算的方式来计算的话,我看可以先用10进制算出它的结果,然后再把这个结果转换成对应的8421码就可以那13所对应的8421嘛,就应该是这样的一个表示,这是我们手动做题的时候可以采取的一个策略,先用10进制加出它的结果,然后再把这些结果转换成所对应的8421码如果我们丢给计算机来进行八十二万就不能这么做了计算机的做法是这样的五和八所对应的八十二进制计算机会把家属和倍加速然后如果我们丢给计算机来进行八十二万就不能这么做了计算机的做法是这样的五和八所对应的八十二进制计算机会把家属和倍加速然后算是逻辑。题的时候可以采取的一个策略,先用10进制加出它的结果,然后再把这些结果转换成所对应的8421码,但是如果我们丢给计算机来进行8421码的运算,就不能这么做了啊,计算机的做法是这样的,5和8所对应的8421码分别是这样的两串二进制,那计算机会把加数和被加数丢给aIU算术逻辑单元,然后算术逻辑单元进行加法运算之后,所得到的结果应该是这样的,关于二进制的加法我们之前有简单的提及过,其实和10进制是有点类似的,就是对应为进行一个相加,所以把这两个数相加的结果应该是1101如果把这个二斤之术转换成十进制的话应该是十三但是现在问题来了我们八四二幺和法的一个编码的区间应该是这样的而零零已经如果把这个二斤之术转换成十进制的话应该是十三但是现在问题来了我们八四二幺和法的一个编码的区间应该是这样的而零零已经超出。我们的合法范围,所以在8421码中,如果我们的运算结果落在这个区间内是没有意义的,那为了让加法运算的结果,符合8421码的一个规则定义,我们可以这么来处理,当我们进行加法运算之后,如果结果落在了这样的一个非法区间内,也就是落在了10~15这样的一个区间内,那么我们可以在这些运算结果的基础上再加上6,因为4个二进制位只能表示0~15这样的几个数,所以对于10~15这个范围的数,我们再给它加上一个6,那么这4个二进制数肯定就会向高位进一个一留下的部分刚好又是我们所需要的各位的部分来看下比如之前十三这个数我们加上一个六六零一一零相加之后。我来看一下,比如之前13这个数我们加上一个6那么6用二进制表示,应该是0110相加之后得到的结果是这样的,向高位进了一个一,然后低位保留下来的数值,0011转换成10进制,刚好是对应了3那高位的,一我们在在前边给他补上三个0,那这样的话是不是就可以刚好对应上8421码的13这个数高4位表示1第4位表示3,和我们这儿给出的映射关系是一样的,那这就是计算机处理8421码加法运算的一个方法,如果两个数相加得到的结果落在了一个非法区间内,那么我们需要加6进行一个修正,当然如果是1+3啊,这样的一个操作零零零一加上零零一零那么所得到的结果是零一零零那这样的预算就不需要。这两个数相加得到的结果落在了一个非法区间内,那么进行修正,对了我们再来看一个课本上没有讲到的情况,比如说9+9用84211,马来西亚0=01+1=0进1,好,那你会发现如果用8421码的9+9,那我们第1次加法运算得到的结果就是这样的一个数值,这个结果已经超出了4个一所能表示的范围,那这种情况同样说明了我们用4倍的8421嘛,无法表示这两个数相加的一个值处理方法也是一样的我们同样加上一个六进行修正来看下后四位零一零。这个结果已经超出了4个一所能表示的范围,那这种情况同样说明了,我们用4倍的8421码无法表示这两个数相加的一个值处理方法也是一样的,我们同样加上一个6进行修正,那来看下后4位0010加上60110进行修正,得到的结果应该是0001,好在补上,我们之前得到的这个高位一个1那么可以看到右边的这几个数刚好是等于8,而左边高位的1呃我们再在前边补上呃三个0的话,那这个数刚好又是一而9+9=18,和我们这纠正后的结果是可以对应上的,所以计算机在对8421码的两个时间之数进行加法运算的时候有可能相交的结果是。两个10进制数进行加法运算的时候,有可能相加的结果是落在1010一直到10010这样的一个范围内,那只要落在这个范围内,我们都需要进行加6的一个修正,都可以得到正确的结果,好,那这就是8421码的一个加法运算,再次强调,如果加法运算的结果是落在了合法范围内,那么就不需要进行加6的修正好,到目前为止我们介绍了8421码,因为4个二进制数可以对应16种状态,那我们把这16种状态的其中10种分别映射到0~9这几个数字上,那如果我们修改一下映射的规则,我们就可以得到不同的编码方案,比如课本上介绍了余三码那于三码的规则是八四二幺马的基础上再。定制记录它的结果都需要进行它的。规则是8421S1,因为它是84而已。映射的规则,我们就可以得到不同的编码方案,比如课本上介绍了余三码,那余三码的映射规则是8421码的基础上再加上3,所以对于余三码来说,您这个数应该是0011,因为他是8421码的基础上,再加上0011所得来的,那后续所有这些数都是一样的,都是在8421码的基础上加上了一个3,得到了一个新的映射方案,那这就是所谓的移三码,那值得一提的是8421码里边4个二进制位,每一个二进制位的全值都是固定不变的,分别是8421但是与三马里边四个二进制位每一个二进制位其实并没有一个固定的全职所以像八四二幺ma这种我们but它的基础上,这于三马里边4个二进制位,每一个二进制位,其实并没有一个固定的全职,所以像8421码这种,我们把它称为有权码,而渝三码,我们把它称为无权码,那最后我们还需要学习一种有权码叫2421码,其实它的规则和8421是很类似的,我们会用4个二进制位来对应一个10斤,只为只不过这4个二进制位的权值分别是2421,比如十进制的三对应的2421吗?应该是0011,那么后两个一的权值分别是2合12嘉羿刚好等于3而七,这个数的编码是1101,那么第1个1的全值是2,然后第2个1的全值是4,最后一个一个1的全值是一2+4+1刚好等于。编码的第1位都是122,然后第2个1的全值是4,最后一个1的全值是12+4+1刚好等于7,那值得注意的是,对于2421码来说,0~4这个范围内,所有的数字编码的低位一定都是0,而5~9这个范围内所有的数字编码的第1位都是一,这个规定可以让2421码的这种编码策略达到一个统一,比如说对于5这个数来说,我们完全可以4+1=5我们可以把表示成零一零一队吧这看起来是一个合法的编码方案当然我们也可以二加二加一等于也可以用这样的方式来表示所以也正是为了避免这种奇异的发生因此二四二。正因此2421码规定在5和5之后的所有数字,我们的守卫一定必须是一加上这个规则之后,2421码的编码就不会再有歧义了,好的,那这个小节当中我们介绍了几种使用二进制来进行编码的十进制数的表示方式,我们把它称为BCD码,BCD码当中,每4个二进制位会对应一个10进制的数,那由于4个二进制位可以有16种不同的状态,我们把16种状态当中挑出10个来映射到0~9这几个数,因此我们可以制定不一样的映射方案,其中最重要也是最常用的就是8421嘛,8421表示的是每一位的全职,那需要注意的是对842L码进行加法运算的时候,如果超出了这个合法的范围,那么我们需要加6进行一个修正,强制的向高位进一。强制地向高位进一第2种余三码,其实就是在8421码的基础上加上三所得来的余三码是一种无权马个个二进制位是没有固定的全职的,那最后我们又学习了2421马,其实原理和8421室类似的,只不过为了防止编码的时候出现歧义,所以会规定0~4,这几个数字的最高位一定是灵儿5~9的最高位一定是一好的,那以上就是这一小节的全部。