微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 电路换算上的二进制数

电路换算上的二进制数

时间:12-22 来源:互联网 点击:

表 0,则称为正逻辑系统,反之,以高电平代表 0,低电平代表 1,

则称为负逻辑系统,一般来说,我们采用正逻辑系统。

2.2 二进制数与十进制数

接下来我们就研究一下二进制数,注意了,下面我们纯粹的研究二进制数,跟二进制的数字电路实现 没有任何的关系了。

借助于十进制数的思路,我们的二进制数有两个数码:0 和 1,基数是 2,进行运算的时候是逢二进 一。举例来说明,比如二进制数 10110(注意,读这个数据的时候只需要把每一位数据读出来就可以了,

千万不要采用十进制数的读法。即这个数读作:一 零 一 一 零,而不是一万零一百一 十,若按照十进制数

的读法,会让别人笑话的。切记切记)。对于这个数,我们知道它的每一位都有权,而且权是 2 的幂,即

10110 = 1X24      0X23      1X22      1X21      0X20     若我们把这些数字相加计算出数值来,就会发现它是一个 十进制数 22,这样我们就把一个二进制数转换为十进制数了。我们接下来就讲二进制数和十进制数的相互

转换问题。

随便拿出一本教材来,关于二进制数和十进制数的相互转换,都讲了一个方法:二进制数转换为十进 制数采用加权法,就是上面说的例子。而十进制数转换为二进制数则分为整数部分和小数部分分别转换,整 数部分用除 2 取余法,小数部分采用乘 2 取整法,然后要列竖式来求解。一般来说,我们在进行应用的时 候,譬如数字电路,单片机中使用的数字都是整数,而且只需要我们快速的计算出这个数据即可,若按照除

2 取余法来求解,则太费时间,这里我讲一种方法,命名为"8421"法,可以快速的求解 255 以内的数据

(超过 255 的数据建议大家用计算器来求解,手算或者心算就太费劲了。)。这个方法就是利用权,一个 4

位的二进制数,它的每一位的权恰好是 8421,如图 3。

128    64   32    16    8    4      2    1

图 3  二进制数每一位的权

接下来我们就以一个具体的例子来说明这种方法的使用。先看二进制数转换为十进制数的例子,就是 上面说的 10110 吧,把它的每一位的权都标出来,如图 4。

16 8 4 2 1

1  0 1 1 0

图 4 二进制数转换为十进制数的例子

我们只要把数值是 1 的位的权加起来就可以得到对应的十进制数,即 16+4+2=22,完全一样。但是比列

式子快速的多了,如果熟悉了每一位的权之后我们都可以心算,快速的算出结果为 22。

接下来讲十进制数转换为二进制数的例子,把十进制数 55 转换为二进制数。开始运算之前先把图 3

画在草稿纸上,然后开始填 1,首先,55 在 64 和 32 之间,所以 64 处不能是 1,我们在 32 处写 1,这个

1 的权是 32,那么我们还剩下 55-32=23,比 16 大,我们在 16 的位置上写 1,这时候我们还剩下 23-

16=7,接着我们就可以在 4、2 和 1 的位置上分别写一个 1,32+16+4+2+1 恰好等于 55,所以我们在 其他的位置上写 0,把这个数写出来 110111,就得到了转换后的二进制数了。整个过程如图 5 所示。


 
图 5  十进制数转换为二进制数

采用这种方法可以快速的实现二进制数和十进制数的相互转换,这里要提醒大家一点了,我们只需要练习十进制数 255 以内的数据和二进制数之间的相互转换就可以了,太大的数据交给计算器来运算就好了,千万 不要为难自己,非要去计算 52369 的二进制数,那将让你失去许多乐趣的。相对于二进制数来说,我们只 要能计算 8 位以内的二进制数转换为十进制数就可,超过 8 位的还是交给计算器吧。当然了,每个人都有自 己的自由,如果某人要手工计算 32 位二进制数转换为十进制数或者把一个上亿的十进制数转换为二进制 数,我也没有办法。

在现实生活中,对于十进制数,我们自动的根据数据的大小调整数位,15 有两位有效数字,那么我

们写 15 就好,那么没有人会写成 00015 的,同样的 369 有三位有效数字,也没人会写成 00369,因为 在数字的前面加 0 不改变大小,所以我们通常是省略前面的 0。但在数字电路中有另外一种情况,譬如我们 制造好了一个电路后,能表

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top