BCD码的作用和实现

内容部分摘抄于朱有朋老师

  1. BCD码本质是对数字的一种编码,用来解决这种问题:由56得到0x56(或者反过来)。也就是说我们希望十进制的56被编码成56(这里56不是十进制的56,而是两个数字5和6)。

  1. BCD的作用可以将十进制数拆成组成这个十进制的各个数字的编码,变成编码后就没有位数的限制了。譬如由一个很长的数123456789123456789,如果这个数当数字肯定超出int范围,计算机无法处理。想要让计算机处理这个数,计算机首先得能表达这个数,表达得方式是将这个数转成对应得BCD(123456789123456789 类似于字符串)

  1. 如何表示BCD编码?BCD码可以在计算机用十六进制形式表示,也就是十进制得56转成BCD后是56,在计算机中用0x56来表达。

简洁的地说BCD就是用16进制表示10进制的数 如99(1001 1001)

所以在编程中想让其表示10进制数, (x/10)*16 +(x)%100

如x是99 那么得到的结果是153,153的二进制是1001 1001(16进制表示出来的结果就是99),

当然如果是111呢,其16进制是6F,无法用16进制形式表示111,因为一个字节(8位)只能表示2个数。解决这个办法就是增加表示位数,第一步得到百位 x /100 ,(x/10)*16 +(x)%100,第二步得到个位和十位 x%100,(x/10)*16 +(x)%100。那么得到就是二进制(0001 0001 0001)。

百位 十位 个位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值