请问把 BCD 码转化为任意的二或四位 BCD 数是什么意思

作者&投稿:祝包 (若有异议请与网页底部的电邮联系)
给定一个十进制数(整数或小数)如何转化为二进制和8421BCD码,以及给定8421BCD码如何转化为十进制;~

8421BCD码转化为十进制:
8421码一共四位 每位都是0或者是1 假设给出的码是1010 那么每位分别和和8421对应 可得
8*1+4*0+2*1+1*0=10(十进制) 再者 码1100 8*1+4*1+2*0+1*0=12(十进制) 就是四位和8421对应在进行相加
十进制数(整数或小数)转化为8421BCD码
75.4=(0111 0101.0100)BCD 若将BCD码1000 0101.0101转换为十进制数如: (1000 0101.0101)BCD=85.5
十进制数(整数或小数)转化为二进制
整数除以2,商继续除以2,得到0为止
22 / 2 11 余0
11/2 5 余 1
5 /2 2 余 1
2 /2 1 余 0
1 /2 0 余 1
所以22的二进制是10110
小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分0为止,将整数顺序排列。
0.8125x2=1.625 取整1,小数部分是0.625
0.625x2=1.25 取整1,小数部分是0.25
0.25x2=0.5 取整0,小数部分是0.5
0.5x2=1.0 取整1,小数部分是0,结束
所以0.8125的二进制是0.1101
十进制22.8125等于二进制10110.1101

四位二进制码,它就是四位二进制数。可以代表十进制0~15。

BCD码,它也是四位二进制数。但是,只用它代表十进制0~9。

四位二进制码,十进制0~15,是两位十进制数字,
所以,就需要用两组 BCD 码,分别代表十位、个位,共八位。

bcd码是转化后用来输出到数码管里显示数据的,数码管就是我们平常看到红绿灯那个数值,一个数码管能显示的数值最大就是9所以bcd码转码时候提供的数值范围就是0-9,而表达0-9范围只需要4位二进制就行了所以bcd码每次转化为2进制都是用4位来表示一个数,所以你会问要是两位数呢,那就转化为8位二进制了,他们显示最大数值是99不知道我这样解释明白没

可以将BCD码转成W或者DW类型。


九寨沟县15365693489: 微机原理实验:BCD码是怎么样转换为二进制的? -
皇冯格列: BCD码分压缩型和下压缩型两种,压缩型BCD码:1位BCD码对应4位二进制码,如:1对应为0001,2对应为0010,……8对应为1000,9对应为1001;非压缩型BCD码:1位BCD码对应8位二进制码,如:1对应为00000001,2对应为00000010,……8对应为00001000,9对应为00001001;

九寨沟县15365693489: 汇编程序中将BCD码转换成二进制码的程序如何写,初学者求高手指导 -
皇冯格列: 嘿嘿 俺来帮你解答 BCD码转换成二进制码的方法:1 可以按照按权展开公式: 将BCD码按照千位、百位、十位、个位展开计算 即 (BCD码的千位)*1000+(BCD码的百位)*100+(BCD码的十位)*10+(BCD码的个位) 上述式子之和即为转换后的二进制数. 呵呵 俺只提供给你一个算法 你可以按照上述算法编写一个BCD码转换成二进制码的子程序. 满意就选满意回答吧

九寨沟县15365693489: 单片机:A中的压缩BCD转换为二进制 -
皇冯格列: 我只说说方法吧,先mov R0,a;把原数暂存于R0中 and a,#0fh; mov R1,a;低四位保存至R1 mov a,R0; and a,#0f0h; swap a;交换高四位与低四位 此时再把a中的数乘以10再加上R1中保存的数就可以了.只说了大致思路,具体的自己写吧.

九寨沟县15365693489: 单片机怎么把BCD码转换成二进制啊
皇冯格列: BCD码要转换成二进制,需要先转换为十六进制,再转换为二进制就很方便了,比如:BCD码:32H,转换为十六进制为:20H(3*10+2=32=20H),对应二进制为:00100000

九寨沟县15365693489: 利用C语言 将BCD码转成二进制输出的程序 -
皇冯格列: #include #include #define INPUT_BCD_MAX_LENGTH 10 int main(void) { // char bcd[ INPUT_BCD_MAX_LENGTH ]; char *bin = NULL; char t_bin[ 6 ]; int i, j, q, r, t, bcd_len, bin_len; printf( "Please enter the decimal code: " ); scanf("%s", bcd)...

九寨沟县15365693489: 把一个2位的非压缩BCD码转换成其对应的二进制数 -
皇冯格列: 也不知道是不是把那两位组成一个二进制数 还是独立的两个二进制数 如果是两个合成一个的话 那就把第一个放到A里,然后左移四位,再和FFH做"与",把结果调到别的地方暂存,然后再把第二个放到A,然后和FFH做"与",结果两数相加就可以了, 两个独立分开的话,分别和FFH做"与"就行了啊

九寨沟县15365693489: BCD码怎么转换成标准二进制形式? -
皇冯格列: BCD是十六进制,分别代表十进制中的11,12,13. 楼主把11,12,13按十进制转化二进制的方法转化就是.具体应该是除二取余数的方法吧.

九寨沟县15365693489: BCD码是怎样转换为二进制的? -
皇冯格列: 任何“码”的内在形式本来就是二进制.对机器而言,不需要转换.所以“码转换二进制”是伪命题对人而言,可能要转换成二进制的“表现形式”便于人类阅读.BCD编码每4bit代表一个十进制数...

九寨沟县15365693489: BCD码的数值为96,那么它转化成二进制是多少?十进制是多少? -
皇冯格列: BCD码是用4位二进制数对应1十进制位数,BCD码的数值本身已是十进制.所以 二进制是10010110,十进制就是96.

九寨沟县15365693489: 如何用将BCD码文件转化为标准的二进制的ASCII文件,用c语言,还有想问一下BCD码是怎么来的 ? -
皇冯格列: 每一个“字符”都有对应的编码.比如a的ascii码就是97.而有些“字符”有bcd码表与之对应.bcd码有很多,随便举一例子,1的bcd码就是0001,8的bcd码就是1000.将之写入文件即可.bcd就是8421码的意思.有压缩非压缩的等等.文件读写就是多了个头文件而已.有兴趣自己去看吧.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网