2024年最全BCD码-百度百科_2023bcd码(3),熬夜整理Golang面试笔试题

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

无权BCD码,如:余3码、格雷码…(注意:格雷码并不是BCD码)以下为三种常见的BCD编码的比较。

十进数 8421-BCD码 余3-BCD码 2421-A码

(M10) DCBA C3C2C1C0 a3a2a1a0

0 - 0 0 0 0 / 0 0 1 1 / 0 0 0 0

1 - 0 0 0 1 / 0 1 0 0 / 0 0 0 1

2 - 0 0 1 0 / 0 1 0 1 / 0 0 1 0

3 - 0 0 1 1 / 0 1 1 0 / 0 0 1 1

4 - 0 1 0 0 / 0 1 1 1 / 0 1 0 0

5 - 0 1 0 1 / 1 0 0 0 / 1 0 1 1

6 - 0 1 1 0 / 1 0 0 1 / 1 1 0 0

7 - 0 1 1 1 / 1 0 1 0 / 1 1 0 1

8 - 1 0 0 0 / 1 0 1 1 / 1 1 1 0

9 - 1 0 0 1 / 1 1 0 0 / 1 1 1 1

常用BCD码

十进制数8421码5421码2421码余3码余3循环码
000000000000000110010
100010001000101000110
200100010001001010111
300110011001101100101
401000100010001110100
501011000101110001100
601101001110010011101
701111010110110101111
810001011111010111110
910011100111111001010

举例

某二进制无符号数11101010,转换为三位非压缩BCD数,按百位、十位和个位的顺序表示,应为C

A.00000001 / 00000011 / 00000111  B. 00000011 / 00000001 / 00000111

C.00000010 / 00000011 / 00000100  D. 00000011 / 00000001 / 00001001

解:(1)11101010转换为十进制:234

(2)按百位、十位和个位的顺序表示,应为C

附注:压缩BCD码非压缩BCD码的区别—— 压缩BCD码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110B表示十进制数96D;非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位的00001001表示09.例如00001000B表示十进制数8.

BCD码的运算法则

BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进制运算规则进行处理的。这样,当将 BCD码传送给运算器进行运算时,其结果需要修正。修正的规则是:当两个BCD码相加,如果和等于或小于 1001(即十进制数9),不需要修正;如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;如果相加时,本位产生了进位,也需加 6 进行修正。这样做的原因是,机器按二进制相加,所以 4 位二进制数相加时,是按“逢十六进一”的原则进行运算的,而实质上是 2 个十进制数相加,应该按“逢十进一”的原则相加,16 与10相差 6,所以当和超过 9或有进位时,都要加 6 进行修正。下面举例说明。

【例 1.3】 需要修正 BCD码运算值的举例。

(1) 计算 5+8;(2) 计算 8+8

解:(1) 将 5 和 8 以 8421 BCD输入机器,则运算如下:

0 1 0 1

+) 1 0 0 0

1 1 0 1 结果大于 9

+) 0 1 1 0 加 6 修正

1 0 0 1 1 即13 的 BCD码

结果是 0011,即十进制数3,还产生了进位。5+8=13,结论正确。

(2)将8以8421 BCD输入机器,则运算如下:

1 0 0 0

+)1 0 0 0

1 0 0 0 0产生进位

+)0 1 1 0 加6修正

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

https://bbs.csdn.net/topics/618658159)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 28
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值