相信大部分电工朋友们都有听过8421,但真正理解的又有多少呢?8421可以说是一种非常好用的“工具”,用于二进制与十进制数之间的运算。那么,8421到底是什么?如何运用?这篇文章将告诉你答案。

电工说的16a是什么 不会有人搞了这么多年电工还不知道吧(1)

8421其实是一种编码方式。我们都知道,电脑计算机的语言就是二进制,所以我们要想使用计算机,就得用二进制与它交流。但我们日常生活中使用的都是十进制,所以为了便于应用,就有了用二进制表示十进制的编码——BCD码,而8421码是最常用的BCD码。

定义是这么说的,从四位二进制数中取出十种组合表示十进制数的0到9,如1001表示9、0011表示3……四位二进制数就好比四个位置,这四个位置分别坐着8、4、2、1,但这并不说明四个数字都是有效的。

电工说的16a是什么 不会有人搞了这么多年电工还不知道吧(2)

那如何才能使该位置上的数字有效呢?简单,让这个位置变成1。由于是二进制数,所以四个位置上,只能坐1或0,若为1,就表示该位置上对应的数字有效,若为0,则表示该位置上的数字无效,等于0。例如下图所示,想要4有效,就让4对应位置变成1,此时就是0100,也就是说,0100这个二进制码就表示了十进制数的4。

电工说的16a是什么 不会有人搞了这么多年电工还不知道吧(3)

这就好比有一排座位,它们分别是班长、副班长、组长、班员专属位置,如果班长位置上为1,就说明班长坐在位置上了,而副班长位置为0,则说明副班长不在座位上。

电工说的16a是什么 不会有人搞了这么多年电工还不知道吧(4)

同理,8421四个位置,只要对应位置为1,就表示该位置有效,例如上图的1100,前面的两个1,分别表示了8和4有效,而后面的两个0就表示2和1无效,最终就可以得出二进制数1100表示了十进制数的12(8 4)。看到这里,你明白了吗?明白了的话,问个小问题,二进制数1010表示十进制数的多少?评论区告诉我吧。(答案:8 2=10)

大家如果细心一点,就可以发现,8421其实并不仅仅表示了0到9,如上面的例子中1100就表示了12,显然大于9了。所以,其实8421是可以推广使用的,这就需要我们举一反三了。今天,我就按我自己的理解,来说两种8421的其他用法。

一、8421应用于二进制数转十进制数

首先是8421在二进制数转换为十进制数中的应用。8421其实就是不断×2得来的(即2的n-1次方),以1作为起点,1×2=2,2×2=4,4×2=8,显然,再往上乘,就是8×2=16、16×2=32……换言之,8 4 2 1 的四个位置是可以扩充的,如扩充到16 8 4 2 1 。

电工说的16a是什么 不会有人搞了这么多年电工还不知道吧(5)

那为什么要扩充呢?这是因为8421四个位置坐满,即上图所示的1111,最大也只能表示十进制数的15,如果十进制数大于15,那8421就无法表示了。就像测量表计的量程被超,无法测量一样,所以只能增大量程。

8421扩充就是在8的左边乘2增加一个位置,变成16 8 4 2 1 ,此时这五个位置的二进制数,最大11111就能表示十进制数的16 8 4 2 1=31了,依此类推,若十进制数大于31,那就在16的左边乘2再增加一个位置变成32 16 8 4 2 1 ……

反之,二进制数转换为十进制数,其实就是直接将各个位置上对应的有效数字相加。例如随便给个二进制数1010011,要想知道它转换为十进制数等于多少,计算步骤如下:

第一步,先看它有多少个位置,比如七位;

第二步,从右到左依次乘2得出每个位置依次为64 32 16 8 4 2 1 ;

最后,将有效数字相加,得到64 16 2 1=83;

这就算出了101011的十进制大小为83。

电工说的16a是什么 不会有人搞了这么多年电工还不知道吧(6)

二、8421应用于十进制数转二进制数

8421除了可以用于二进制转十进制外,还可以用于十进制转二进制。举个例子,如十进制数412,要将它转为二进制数,步骤如下:

第一步,看412最大能坐“8421”的哪个位置,这里为第九个位置的256(从右到左数),那么第九个位置就有效,为1;

第二步,412减去256等于156,而156最大能坐“8421”的第八个位置128,第八个位置依然为1,依此类推,156减去128等于28,28-16=12,12-8=4,4-4=0;

最后将有效位置写1,无效位置写0,得到412的二进制数为1 1001 1100。

电工说的16a是什么 不会有人搞了这么多年电工还不知道吧(7)

一句话总结就是,将十进制数转二进制数,可以将十进制数依次对“8421”的位置数从左到右减去最大所能减的数,直到结果为0,最后将所减数的位置写1,其余位置补0,最终得出二进制数。例如十进制数578,最大能减512,那么二进制数的最高位就是第十位,然后依次相减,得到二进制数为10 0100 0010,你学会了吗?

此外,你对8421还有什么应用?在评论区告诉我吧。

文章来源:技成培训网原创,作者:杨思慧;未经授权禁止转载,违者必究!

,