20位数字转化成6位不重复码_数字电路学习笔记(二):数制与编码

本文介绍了数制和编码的概念,特别是从20位数字转化为6位不重复码的挑战。数制中探讨了二进制、十进制和十六进制的关系,强调了二进制在计算机系统中的重要性。编码部分讨论了不同编码方式,如BCD码、格雷码和浮点数表示法,以及负数和小数的二进制表示。文章还提到了ASCII和Unicode字符编码在处理文字信息中的作用。
摘要由CSDN通过智能技术生成

089bec469b9c2e558591b5bd899a1d82.png

我们先跳开数字电路内容,看看凡是讲计算机系统就绕不开的编码问题。

一、数制

数数时,我们往往是这样数的:“1, 2, 3, 4,...10, 11,...”(某些程序员们除外)。此时,就产生了一个哲学问题:为什么从“9”到“10”,数字多了一位?

一个广为人知也比较显而易见的原因是,人类有十根手指——当一个原始人用手指计数到十后,就需要用另外的东西(比如,一根树枝)来存储这个数字,因此,十进制即逢十进一;相似地,计算机也可以类比成一个有两个手指的生物。在之前档案室的例子中,我们已经看到了,对于任何一个开关,只有闭合和断开两种情况;因此,我们列出的每一种情况都可以转化为一组由0与1组合的数,这就是二进制数,即“逢二进一”,只需要0与1两种数字。所以,二进制的数表长这样:

a2ab13de3d7359ff83f77f01f8b8c828.png

对于计算机系统来说,二进制是最便于处理的,因为每一个数字都能和一条线路的高电平-低电平对应;而相对地,其它进制就会复杂不少,因为对输出与识别的精度要求提高了。不过据我了解,前苏联曾研制过一种叫做Сетунь的三进制计算机[1],实际上更加接近人类的逻辑,还能够提高运算效率(而另据参考,越接近e进制,效率就越高[2])。

6539edd60045efb280450bb523cbc9a8.png
1959年时的“Сетунь”,来自http://www.wyzxwk.com/Article/lishi/2011/09/254852.html

(以上部分道听途说消息并非重点,请勿太过在意)

插播一则智力测试题:
你在和小刚玩扑克牌游戏,你的好朋友小明站在小刚身后,不停向你示意他的牌面;假设这副扑克牌不是普通的扑克牌,它的牌面最高有1000,而小明只能用十根手指的屈伸向你传递信息,那么,他如何才能最高效地表示数字?(单次能表示的数字最大)

但是,二进制有一个大问题,就是其每一位权值相对实在太低,很容易写出一长串数字,人脑难以处理。所以,在实际的逻辑设计中,我们往往还会用到16进制。它与二进制之间的转换比较直观,因此应用广泛:

6448ab88b85c70103209a82c8a275f8c.png

注意到,因为懒惰的人类只定义了十个数字,所以当进制超过十时,就会需要从英语字母表“借”字母来表示数字。因此&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值