用4位二进制数来表示1位十进制数中的0~9这10个数码,简称BCD码
例如:十进制8的BCD码是1000
十进制9的BCD码是1001
再者,十进制836的BCD码是1000
00110110
可以理解BCD就是一个二进制
BCD码是一种用二进制编码表示十进制数的方法,其中每个十进制数字用4位二进制数表示。因此,一个5位十进制数在BCD码中需要使用20个01序列来表示。
具体地说,假设要将一个5位十进制数 $n$ 转换为BCD码,可以先将其拆分为各个数位上的数字,然后将每个数字转换为它所对应的4位BCD码。例如,假设这个5位十进制数为$12345$,则可以按照如下步骤进行转换:
1 分离出各个数位上的数字:1、2、3、4、5;
2 将每个数字转换为对应的4位BCD码:
- 数字1的BCD码为0001
- 数字2的BCD码为0010
- 数字3的BCD码为0011
- 数字4的BCD码为0100
- 数字5的BCD码为0101
3 按顺序组合各个数位上的BCD码,得到最终的BCD码序列:0001 0010 0011 0100 0101
因此,一个5位十进制数在BCD码中需要使用20个01序列来表示。
计算机中常用的bcd码是8421码和余3码。
1、8421码:8421码也称为8421BCD码或BCD8421码,是一种常用的BCD码。
2、余3码:余3码也称为2421码或BCD2421码,是另外一种常用的BCD码。
常用bcd码有8421、2421、5421等,BCD码可分为有权码和无权码两类:有权BCD码有8421码、2421码、5421码,其中8421码是最常用的;无权BCD码有余3码,余3循环码等。
BCD码(Binary-CodedDecimal)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使电脑作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。
不管是二进制码还是八四二一码,都是一种数制的形式而已,在般都有自己的存储方式,但如果取出内存中的一个数是0001
0001,我们产不知道它是BCD还是二进制,当然BCD也是二进制的一个特例。那么数据是如何使用的才是我们要用的形式。比如0001
0001可以是BCD码的1(非压结缩BCD)或11(压缩BCD),也可以是17(二进制),但人们常用的是十进行,有时对于类似二进制的转化也有点麻烦,所以才引入了一个BCD码的类型。
比如在10进制下运算15+16时怎么运算如果先将两个加数转二进制,得出结果再转十进制,显然,这中间有很多的过程,增加了运算处理的指令序列。如果是也像我们生活中一样,进行十进制相加,该有多省事。所以我们采用了8421码。
如果用四位存储10进制,这就是压缩BCD码,如果用一个字表示一个十进制数字就是非压缩BCD码。呵呵,如果将15做为BCD存入内存中就是0001
0101(压缩BCD)或是0000
0001
0000
0101(非压缩BCD,高四位没有意思)。但两者相加时,实际上执行的还是二进制的加法,此是用AF半辅助进位标志,可能知道是否有进位,如果有则将该结是+6,这就是指令AAA的作用。调整后可以得到的是十进制的BCD码。然后直接显示出来的数据就可以认为是10进制相加的结果!
BCD也是二进制,只是我们使用的不同手段而已,有内存中数据做为不同编码存储的方式是不同的!
这里的加3不是指格雷码按照自然二进制算法加3,而是指格雷码按照格雷码算法加3。
你看到格雷码这一列。比如,格雷码0000加3,就是从格雷码0000往下数3个,得到格雷码0010,即余3格雷码0010(对应8421码0000);格雷码0011加3,就是从格雷码0011往下数3个,得到格雷码0111,即余3格雷码0111(对应8421码0010)。
以上就是关于什么是BCD码全部的内容,包括:什么是BCD码、用bcd码表示一个五位十进制数得到的01序位有几位、计算机中常用的bcd码是等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)