您当前的位置:五五电子网电子知识电子学习基础知识数字电路二进制数及其他 正文
二进制数及其他

二进制数及其他

点击数:7143 次   录入时间:03-04 11:51:34   整理:http://www.55dianzi.com   数字电路

     题记

      在学习计算机基础或者是数字电子技术、微机原理、单片机、C 语言等课程的时候,都会讲到一个概 念:二进制数。就是这个二进制数难倒了很多的英雄汉,上面罗列的这些课程我都教过,这些课程有一个共 同的知识点就是二进制数,十进制数,十六进制数,还有八进制数以及他们的相互转换,而对于电子类专业 的一门比较重要的课程--单片机,更是要用到二进制数和十六进制数。故而每次我讲课时都会尽量详细的 给学生讲解这些内容。今天上午刚刚结束了两个班的第一堂课,又勾起了我的回忆,让我有一种把这部分知 识点写下来的冲动,给那些刚刚开始学习数字电子技术、单片机、C 语言的学生们。以上是为这篇文章的来历。

      1   引子

      随着电的使用,电器应用越来越广泛,人们对于电器的要求也越来越高,要求功能强大,还要智能

化,使用简单化,这些要求让数字电子技术应用范围越来越广泛,原先很多采用模拟电路的地方都被数字电 路取代了,特别是对于信号处理方面,随着计算机科学与技术突飞猛进地发展,用数字电路进行信号处理的 优势也更加突出。信号处理的一般方法都是先将模拟信号按比例转换成数字信号,然后送到数字电路进行处 理,最后再将处理结果根据需要转换为相应的模拟信号输出。从一般的模拟信号到数字信号,要经过采样、 量化、编码,最终一个连续的模拟信号波形就变成了一串离散的、只有高低电平之分“0 1 0 1...”变化的数 字信号。自然界来的,或者通过传感器转化的主要是模拟信号,那么为什么要多此一举把它们变为数字信号 呢?原因有以下几点:

  一、模拟信号有无穷多种可能的波形,同一个波形稍微变化就成了另一种波形,而数字信号只有两种波 形(高电平和低电平),这就为信号的接收与处理提供了方便。即,数字信号易于传输,抗干扰能力强。

  二、模拟信号由于它的多变性极容易受到干扰,其中包括来自信道的和电子器件的干扰,模拟器件难以 保证高的精度(如放大器有饱和失真、截止失真、交越失真,集成电路难免有零点漂移)。而数字电路中有 限的波形种类保证了它具有极强的抗干扰性,受扰动的波形只要不超过一定门限总能够通过一些整形电路

(如斯密特门)恢复出来,从而保证了极高的准确性和可信性,而且基于门电路、集成芯片所组成的数字电 路也简单可*、维护调度方便,很适合于信息的处理。特别是计算机科学技术发展后,很多模拟电路无法实 现的功能都可以在采用数字电路来实现。

而电子计算机的出现,让数字电子技术有了更广阔的发展空间,也让我们的生活更加的丰富。手机带 给我们联络的方便,电脑带给我们工作和娱乐以及学习的便利,天上的飞机,路上的汽车,让我们出行更加 方便,家中的空调冰箱洗衣机微波炉等让我们生活更加舒适。在手机、电脑、飞机、汽车以及家电中都有一 块或者多块的微处理器在工作,而这些微处理器就是由数字电路构成的。

2    0 和 1 的舞蹈



www.55dianzi.com2 取余法来求解,则太费时间,这里我讲一种方法,命名为“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 所示。

点击浏览下一页



www.55dianzi.com问题出现了,那么就要解决它。计算机的先驱者们发现,若按照我们数学上的处理方法,则实现的电 路很复杂,便采取了另外一种方法,符号可以参与运算,而且结果也可以是正确的,这便是补码表示。讲补 码的时候涉及到几个概念:原码,反码,补码。

原码 最高位表示符号,其他位表示数值,则这种表示方法就是原码。如

[+10]原=0000 1010B

[ -10]原=1000 1010B

反码 对于正数,反码和原码一样。对于负数,反码就是把原码符号不变,数值为取反,如

[+10]反=0000 1010B

[ -10]反=1111 0101B

补码

对于正数,补码和原码一样,对于负数,补码就是把反码加 1,如

[+10]补=0000 1010B

[ -10]补=1111 0110B

总结一下,对于正数,[X]补=[X]原

负数 ,[X]补=[X]反 +1

补码费劲的得到了有水木好处呢?我们用补码的话就可以直接带符号参与运算了。还是上面的例子。

[+10]补=0000 1010B

+    [ -10]补=1111 0110B

———————————————————

1 0000 0000B

得到的结果是 0,可能有人说了,不是最前面有个 1 的吗,怎么会是 0 呢。这里我们不要忘记了,在计算机 中,所有的数据位数是固定的,我们这里举例为 8bit 的例子,那么得到结果后我们也只能保存八位,你看看 上面的结果,一共有 8 个 0,计算机只能保存这 8 个 0,最前面的 1 是不算在结果里的。所以,得到的结果 就是正确的。

补码的运算中还有一个溢出的问题,大家可以试着用补码来计算一下 -98+(-50),你会发现得到 了一个最高位是 0 的八位数,也就是说,变成了一个正数。这就是超出了数据范围,产生了溢出。关于溢 出,因为不是重点,大家可以自己查书找到答案。

3       万物归于阴阳

《易传》记录“易有太极,始生两仪。两仪生四象,四象生八卦。"这里所说的两仪,就是阴和阳。这 里所说的卦,是宇宙间的现象,是我们肉眼可以看见的现象,宇宙间共有八个基本的大现象,而宇宙间的万 有、万事、万物,皆依这八个现象而变化,这就是八卦法则的起源。而八卦的来源就是阴阳。 我国古代人们 发明的太极八卦用阴阳能够代表世间万物,那么由 0 和 1 组成的二进制数自然能够表示世间所有东西,而不 仅仅是几个数字。也就是说我们现实生活中的图形、图像、声音、文字、色彩等等,都可以用二进制数表 示,当然也可以在计算机中处理和显示出来。其实这个做到了的,否则我们今天也就不会有电脑里的图片、 音乐、视频、文字等等,我们今天的世界将不会这么多姿多彩。

那么,单纯的 0 和 1 如何表示世间的万物呢?这里要讲到一个词:代码。代码,从字面意思来看, 就是代替的码字,即我们找一组二进制数来代替,代替谁呢?代替世间的万物。到这里可能有人会有疑问 了?既然是代替的,必然不是真的,有什么用呢?自然有用,要是没用的话我们不会随时随地的使用。其实 我们就是生活在一个代码的世界里,如我们的名字就是一个代码,用汉字给我们每个人的一个代码,代表一 个个体。在学校里,每个学生都有一个学号,而这个学号就是一个代码,用一组十进制数来代表一个学生。 甚至我们所说的课桌,操场等等名词都是代码,用汉字来代表某个物体或者某种意义。代码到底有什么好处 呢?方便于我们的沟通和交流。还是以我们的名字为例来说。如果一个人叫“张三”,那么我们有事情要找 他,那么就喊“张三”,叫张三的人就答应了,于是你可以跟他交流了。合同上要双方签字,而就是签的名 字,合同签完后就可以存档了,不管经过多久,其他人看到这个签字,就知道这是经过双方本人认可了的, 而不需要双方两个大活人亲自告诉你说,这个合同我认可了的,因为名字就代表了其本人。如果我们不用代 码,那么一个合同文本上必须有两个人站在那里,证明合同双方都同意的,这是一件和荒唐的事情,文件柜 里站着两个大活人不是很滑稽和不可能的事情吗?所以,我们使用代码。注意的是代码就是代码,不是人本 身,你的名字不等于你这个人本身,它仅仅代表你这个人,我们不能说几个汉字和活生生的人是一样的吧。 每个人都有血有肉,有情感,但是汉字只是一些笔迹,不会有血肉。

[1] [2]  下一页


本文关键字:二进制  数字电路电子学习 - 基础知识 - 数字电路