当前课程知识点:计算思维导论 > 第三单元 > 3.1 数的表示与模拟计算 > Video
大家好
这一节我们介绍
数的表示与模拟计算
我们知道
老祖宗们曾经使用十六进制
所以才有了半斤八两之说
而计时方面
则采用12进制 24进制 60进制
数学上通常使用10进制
但是
计算机内部却使用2进制
我想很多人都有疑问
计算机为什么采用二进制
我们需要学习二进制吗
让我们从一个非常非常简单的问题说起
例如 12+23等于多少
你肯定会说
这个问题太简单了
小学一年级的学生都会做
但是
在这里我所要求的是
你能否设计一个机器来解决这个问题
而不是用你聪明的大脑来计算
那么
要设计一个机器来求解
至少需要解决两个大问题
1 数12和23怎么表示
2 加法运算怎么进行
让我们先来看第一个问题如何解决
我们知道
在远古时代
祖先们为了记录打了多少猎物
采用结绳计数法
比如
打了三只兔子
就在绳子上打三个结
后来
为了计算方便
先后发明了算筹和算盘
这些我们暂且不说
到了机械与机电时代
人们又做了哪些探索呢
十七世纪
法国数学家Pascal设计出了加法器
用于加法运算
该加法器采用十进制计数
通过手摇才能计算
到了十九世纪
英国数学家巴贝奇(Charles Babbage)
以蒸汽为动力设计出了差分机和分析机
仍然采用十进制
这里我们不做详细介绍了
那么
到了电子时代
我们该怎么做呢
如果我们精通电子技术的话
我们是不是可以设计出这样的电路来
该电路有两个输入端
分别输入12v和23v
然后经过电路叠加
输出35v的电压
这样不就可以解决问题了吗
一般情况之下
确实可以这样来解决问题
但是
如果进一步考虑它的通用性
就会发现问题了
比如
假定要计算
9876035605 + 2673754027等于多少
那么如此可怕的高电压
怎么产生呢
再说
电子元器件能承受得住吗
另外
这么高的电压人能靠近吗
再比如说
假设我们要计算
3.200407001 + 1.008003041 等于多少
这么高精度的电压
如何确保没有误差呢
如何确保不受外界的干扰
比如说打雷 闪电
再比如说如何测量
这么高精度的电压
这些都是问题
很显然
要解决这样的问题
必须得另想办法
怎么办呢
我们可以考虑
用一根信号线表示一个数字
这样的话
一个两位数
就可以用两根信号线来表示
电路如图所示
每根信号线只取
0 1 2 3 …… 9共10种不同的电压
这样就可以回避高电压的问题了
例如
任意两个5位数相加
如果不考虑进位
我们就可以这样来设计运算电路
解决了超高电压问题
接下来再解决精度问题
我们仍然可以用一根信号线表示一位小数
假如要计算
10456.201 + 23048.048 = ?
设计出的电路就是这样子的
其中小数位我们用红色来表示
至此
我们似乎找到了特定数的表示
及其加法运算的实现办法
但必须认识到
要想以此方式设计计算机
还有很多问题有待解决
比如
1 数位与精度不一样时
中间运算电路要重新设计
2 算术运算 关系运算 逻辑运算
乃至sin(x) cos(x)等等
是不是需要设计专门的运算电路呢
3 每一根输入信号线
电压的调节(0~9)
以及输出信号的测量
4 外界干扰源的干扰
但不管怎么说
模拟计算机
就是按照这样的思路设计的
事实上
早在1940年左右
就有了模拟计算机了
甚至还被安装在潜艇上
用于计算发射鱼雷时
所需要的方向和速度
好
这一节就讲到这
谢谢大家
-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
-期末考试--作业