当前课程知识点:计算思维导论 >  第三单元 >  3.5 二进制之优越性及问题与代价 >  Video

返回《计算思维导论》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《计算思维导论》慕课在线视频列表

Video课程教案、知识点、字幕

大家好

现实生活中

人们往往习惯使用十进制

只有在钟表 时间等方面

采用别的进制

如十二进制

二十四进制

六十进制等等

当然了

老祖宗们也用过十六进制

所以呢

才有半斤八两的说法

但是电子计算机

采用的却是二进制

并不是大家所熟知的十进制

或者说上述的这些进制

这就是前面所介绍的

弃十选二的无奈之举

但事物总是一分为二的

二进制有它的不足

也有它的好处

本节呢一起来探讨

二进制的优越性

及其存在的问题与代价

以便大家更全面

更深入地理解它

一 二进制(数)的优越性

二进制到底有哪些优越性呢

我们一起来看一看

首先

客观世界

总是呈现了很强的二值特性

比如

黑夜与白天

男与女

开与关

高与矮

导通与截止

左和右

上与下

有和无

重和轻

磁性的南北极

等等等等

特别是

在客观世界中

我们需要判断

对还是错

是还是否

成立还是不成立

真还是假

这样的一些逻辑值

而这些呢

都与二进制数1和0

有很好的对应 统一的关系

二 晶体三极管的

导通与截止状态

也就是门电路的高低电平

能很好去地表示二进制值1和0

科学家们发明的

这种晶体三极管

它除了

能很好地表示1和0之外

还具有抗干扰能力很强

状态很容易转换

以及转换速度非常快

体积很小 功耗很小

价格还很低廉这样的一些特点

第三 二进制的运算规则很简单

很容易机器实现

就加法运算而言

就四条规则

0加0等于0

1加0等于1

0加1加1

1加1等于10

这个1就是一个

逢二进一的一个进位

乘法运算也只有4条运算规则

0乘0等于0

1乘0等于0

0乘1等于0

1乘1等于1

二进制数据在逻辑运算方面

也是很方便的

我们知道

逻辑运算有

与 and

或 or

非 not

三种

对应的运算规则如图所示

那我们看到

与运算当中

只要参与的两者之间同时为1

结果就为1了

或运算

只要参与运算的数当中

有一个为1

结果就是1

而非运算其实就是取反

参与的运算是0

结果就是1

参与的运算是1

结果就是0

这里的两者

指的是参与运算的数

或者是你输入的这些数

我们不妨来看一个动画

这个动画有三个士兵

看看这里来了三个士兵

你们两个负责信号输入

就叫入1 入2 吧

你 负责信号输出

就叫出吧

这样站成一个三角形

出是顶端

入1和入2是底边

现在我这里有六面小旗

三白三黑

你们三名士兵呢

每人一白一黑

白色代表0 黑色代表1

现在听我说

你转身看着入1和入2

如果他们都举黑旗

你就举黑旗

其他的情况你都举白旗

这种情况有三种

入1白 入2黑

入1黑 入2白

入1 入2都是白

这三个人就组成了

一个计算系统的部件

是门部件的一种

叫做与门

好的 立正

我们构建下一个部件

只要看到入1和入2中

有一个人举黑旗

你就举黑旗

这种情况有三种组合

黑黑 白黑 黑白

剩下的一种情况

白白

你就举白旗

明白了吗

好好干

下面开始

好的

再举

再举

好极了

非常正常

这个门部件叫或门

下面我们用两名士兵构建非门

你和出总是举颜色相反的旗子

记住这个规则

就可以了

看到了吧

士兵们只要听从规则

就能很轻松地实现

与门 或门和非门

而且它们并不需要

练就更多的武艺

千千万万

基本的逻辑门团结在一起

就构成计算机的大脑—CPU了

第四 数据存储也很容易

交给计算机处理的数据

及其计算机处理的结果

多半是要永久地保存起来的

采用二进制形式记录数据

物理上比较容易实现

比如

对于只写一次的光盘

将激光束聚集成

1~2um的小光束

融化盘片表面上的合金薄膜

在薄膜上形成小的凹坑

就记录下了1

而原来的位置就是0

磁盘 硬盘

则是通过磁极的取向

南极 北极来记录数据的

五 可靠性高

二进制中

只使用0和1两个数字

传输和处理时呢

出错率就会比较低

这也是保障计算机

以及计算机与计算机

通信时可靠性的最有效

最基本的方法

六 二进制数还有一些有趣的特性

比方说

最低位是1就是奇数

是0就是偶数

再比如

如果第n位为1

其余位为0

那么这个数等于2的n次方

如1000

这个数就是8

还有

如果第n位都是0

则该数可被2n整除

如11000可以被6整除

不妨验证一下

2的4次方加上2的3次方

是24

24确实可以被6整除

此外

无符号二进制数所有位左移1位

相当于该数乘以2

如101101

它是45

转换成十进制是45

那么左移一位变成了1011010

刚好是90

无符号二进制数右移1位

相当于该数除以2

如10111

我们右移之后呢变成了1011

那么验证一下

是由原来的23变成了11

类似这样的特性还有很多

大家可以去总结

这让我突然想起

德国著名的郭塔王宫图书馆

保存的一份珍贵的手稿

天才大师

数学家莱布尼茨在开篇写道

1与0

一切数字的神奇渊源

或许正是如此

1与0

一切数字的神奇渊源

也自然而然地成就了

数字电子计算机的神奇渊源

二 鸿沟与代价

那么我们刚刚说了很多

二进制的优越性

一切是不是就很完美了呢

不是

我们接下来谈一谈

采用二进制之后

带来的鸿沟与代价

一 效率问题

数制间转换的代价之一

正是由于计算机只会二进制

人只会十进制

如果各讲各的语言

鸡同鸭讲

相互间肯定没有办法交流

要解决交流问题

进制间的相互转换

这对计算机而言是必不可少的

当然

不管是手工转换

还是机器自动转换也罢

既然这个过程不能少

那么肯定会消耗资源

至少要付出时间上的代价

而时间

往往是计算机最宝贵的资源

第二 有损映射

这是数制间转换的代价之二

语言不通时

人们往往想着找一个翻译

如果翻译的水平很高

翻译的内容也准确

对话自然没有任何问题

但是

谁能确保翻译一点问题也没有呢

万一翻译错了

或者是理解不到位

情况就比较糟糕

比如我看到有一个新闻说

去火车站买票的时候

黄线指示说请在一米线外等候

Please wait behind the yellow line

然而被翻译成什么呢

Please waite outside a noodle

请在一条米线外等候

类似这样的很多

这个也就是有一点搞笑

但是并不是太大问题

如果恰恰是

双方高度敏感的政治问题

那可能就会后果很严重

可见

中间的翻译是很重要的

那么人与机器之间的翻译

到底怎么样呢

我们也来看一段

小的C语言的程序

这段代码很小很简单

那么大家看到

这里面有一个单精度的f变量

它赋值了一个语句进去

是1234.567

理论上呢

赋值的语句直接输出来

应该是进去的是什么

出来的就是什么

可是运行的结果却是

1234.567017

这个017

这个尾巴哪来的呢

为什么输出变量的值

和原本给变量

赋的初值不一样呢

多出来的尾巴是怎么回事

这对于初学者来说

确实是一个令人困惑的问题

要弄清楚这样的问题

我们必须从

十进制与二进制的转换入手

我们来看

1234.567的整数部分

按照除2取余倒排的这个规则

1234的这个十进制数

1234转换成二进制应该是

10011010010

再来看一下1234.567的小数部分

也就是0.567

按照乘2取整顺排的这样的规则

我们可以得到

0.567的十进制

转换出来时10010001001

等等等等

为什么我这里会打一个省略号呢

这是一个无限循环的过程

因此

我们只能在

满足特定的精度的前提下

取其若干位有效数字

把后面的尾巴截掉后

那么得到一个近似值

所以最终

这个结果就是这样的

接着

把上述二进制数转换成十进制数

结果约是1234.567017

但是它回不到1234.567了

这个就好像我们在数学上

用1除以3约等于0.333333

那么0.33333

这样的无限循环数乘以3

它也是永远回不到1的

大家可以去上机验证一下

可见

在计算机这一特定的环境中

不能像数学一样

可以获得一个无限循环的值

只能在设定精度的前提下

取一个与其近似的二进制值

因而

这种转换有时候是有损的

这就是我们必须了解

并引起重视的一个问题

三 从连续到离散

从离散到连续

又一种转换的代价

我们已经明白

今天使用的计算机

它是属于电子数字计算机

那么客观世界当中

那些连续变化的量

比如说湿度

温度是怎么处理的呢

这一些连续的量和离散值对应

我们将其称为模拟量

比如平时我们发出的 啊

这样的一个声音

其实是空气的振动

称为声波

引起了耳鼓膜的振动

这个振动产生的信号

传到大脑里面

我们就说听到了这个声音

声音的强弱取决于声波的振幅

而声音的高低就与这个频率有关

振幅和频率

它在描述声音的时候都是连续的

是一个模拟量

用计算机来存放和处理的时候

我们就要把这个模拟量数字化

即用连续的变化表示成离散的

比如用0 1 2 3这样的数值

来表示它们

它们彼此之间有明确的界限

它们是不连续的

之所以能够把模拟变化的连续量

改用数字方式的离散量表示

是因为我们感官的分辨能力

有一定的限度

这种不连续的跳跃

如果小到人的感官分辨不出来

虽然是用离散的数字表示

它和用连续的模拟表示

也没有什么区别

同样的原理

比赛中运动员的动作是连续的

可是在电视屏幕上放映出来的

却是一帧一帧离散的画面

但是

只要每秒的帧数足够多

就感觉不到它是离散的

因而

连续与离散之间的鸿沟

给我们带来很多思考

首先

离散量的精度是有限的

数字信号不能达到无限的精确

因此

数字世界

可以近似地表示真实世界

但不能完全模拟它

二 离散量和连续量之间的模/数

数/模之间的转换

需要耗费

计算机系统大量的时间

和其他的资源

这就是必需付出的代价

现在

你应该更加全面地

理解二进制了吧

这一节就到这

谢谢大家

计算思维导论课程列表:

第一单元

-1.1 计算思维及其教育

--Video

第二单元

-2.1 计算是什么

--Video

-2.2 计算与自动计算

--Video

-2.3 计算机及其计算本质特征(I)

--Video

-2.4 计算机及计算的本质特征(II)

--Video

第三单元

-3.1 数的表示与模拟计算

--Video

-3.2 数的表示与数字计算

--Video

-3.3 二进制加法运算的机器化

--Video

-3.4 “九九归一”的加法运算

--Video

-3.5 二进制之优越性及问题与代价

--Video

第四单元

-4.1 从数学危机到图灵机

--Video

-4.2 图灵机的计算能力

--Video

-4.3 什么问题都能计算吗?

--Video

-4.4 冯•诺依曼机及其发展与演化

--Video

-4.5 从算盘到图灵机——机械计算的本质

--Video

-4.6 电子计算机——透过现象看本质

--Video

第五单元

-5.1 思维可机械计算吗(I)

--Video

-5.2 思维可机械计算吗(II)

--Video

第六单元

-6.1 量子理论

--Video

-6.2 量子计算机

--Video

第七单元

-7.1 人类求解问题之过程

--Video

-7.2 基于计算(机)的问题求解过程

--Video

-7.3 面向过程的结构化设计方法学

--Video

-7.4 面向对象之方法学

--Video

-7.5 面向对象技术

--Video

-7.6 抽象

--Video

-7.7 计算学科中的抽象

--Video

-7.8 时间与空间及其相互转换

--Video

-7.9 技术层面的其他方法学

--Video

-7.10 认知层面的其他方法学

--Video

第八单元

-8.1 算法与程序

--Video

-8.2 算法设计方法——枚举

--Video

-8.3 算法设计方法——递推

--Video

-8.4 算法设计方法——递归

--Video

-8.5 算法设计方法——分治

--Video

-8.6 算法设计方法——仿生

--Video

第九单元

-9.1 机器间的通信方式

--Video

-9.2 数据转发方法

--Video

-9.3 网络分层体系结构

--Video

-9.4 有趣的对称加密技术

--Video

-9.5 难解的非对称加密技术

--Video

-9.6 数字签名及其应用

--Video

-9.7 从自然智能到人工智能

--Video

-9.8 符号主义的基本思想

--Video

-9.9 连接主义Ⅰ

--Video

-9.10 连接主义Ⅱ

--Video

-9.11 行为主义的基本思想

--Video

-9.12 机器翻译的愿景与困难

--Video

-9.13 峰回路转的自然语言处理

--Video

-9.14 信息传输中的问题与挑战

--Video

-9.15 重复传输与冗余编码

--Video

-9.16 校验与校验和

--Video

-9.18 自纠错技术及应用

--Video

-9.19 两种简单的数据压缩方法

--Video

-9.20 哈夫曼编码

--Video

-9.21 数据压缩极限与LZ压缩方法

--Video

-9.22 大海捞针的搜索引擎

--Video

-9.23 网页排序方法(PageRank)

--Video

第十单元

-10.1 计算文化

--Video

期末考试

-期末考试--作业

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。