二进制与十进制的关系学习 点击:298 | 回复:2



pei_1

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:26帖 | 127回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2005年5月08日
发表于:2019-04-15 23:12:14
楼主

一直以来,10进制转二进制都是用电脑的计数器切换到程序员模式中进行转换,今天才知道原来这个与8421有关系。

什么是8421

8421就是二进制编码的十进制数,简称BCD码(Binarycoded Decimal)。

这种方法是用4位二进制码的组合代表十进制数的0123456 789 十个数符。

4位二进制数码有16种组合,原则上可任选其中的10种作为代码,分别代表十进制中的0123456789 这十个数符。

最常用的BCD码称为8421BCD码,8.4.2.1 分别是4位二进数的位取值。 右图为十进制数和8421BCD编码的对应关系表:

 

十进制

BCD8421)码

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9


 

 简单的说,一个四位组成的二进制数值,四个位分别用8421代表与十进制的关系,第一位是8,第二位是4,第三位是2,第四位是1。顺序是从左到右。在PLC中用四位二进制存储时如K1M0就是一个四位二进制组成的储存器,那么M3是第一位(用8代表),M2是第二位(用4代表),M1是第三位(用2代表),M0为第一位(用1代表)。

言归正传,十进制与8421关系就是直接将8421中的任意数值相加的数,就是十进制对应二进制的数。

例如:8+4=12,那么就是四位二进制中的第一位与第二位相加,与上面K1M0对应的话,就是M3+M2=12,也就是二进制的1100=12

同理,十进制的6就是4+2,也就是第二位+第三位,0110=6

十进制的14就是8+4+2,就就是第一位+第二位+第三位,1110=14

如此,也就可知道四位二进制分别代表数值0~15之间。

 

那么大于15的数是怎样算呢?

8421同理,只是延展了这个算法。根据这个8421的规则延展:1286432168421八位,八位二进制延展到十进制是255

如十进制的217就是128+64+16+8+1=217128+64+32=224超过217,所以跳过),也就是二进制的1101 1001=217

同理,十六位十进制就可以延展到十进制的65535,这就是PLC中为什么16位的存储器只能是最大65535的数值了。


正在下载,请等待……
下载附件需0积分!




pei_1

  • 精华:0帖
  • 求助:1帖
  • 帖子:26帖 | 127回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2005年5月08日
发表于:2019-04-15 23:16:55
1楼

个别地方出现错误,请谅解。

SOIJOR

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 238回
  • 年度积分:0
  • 历史总积分:179
  • 注册:2016年8月03日
发表于:2021-02-24 16:46:21
2楼

谢谢楼主分享!赞一个!!!


热门招聘
相关主题

官方公众号

智造工程师