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

论坛 期权论坛     
选择匿名的用户   2021-5-30 01:54   181   0
<div>
<p></p>
<div style="text-align:center;">
  <img alt="089bec469b9c2e558591b5bd899a1d82.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-81f9cd9f092054a36cb00df45c3e8132.png">
</div>
<p>我们先跳开数字电路内容,看看凡是讲计算机系统就绕不开的编码问题。</p>
<h2>一、数制</h2>
<p>数数时,我们往往是这样数的:“1, 2, 3, 4,...10, 11,...”(某些程序员们除外)。此时,就产生了一个哲学问题:为什么从“9”到“10”,数字多了一位?</p>
<p>一个广为人知也比较显而易见的原因是,人类有十根手指——当一个原始人用手指计数到十后,就需要用另外的东西(比如,一根树枝)来存储这个数字,因此,<b>十进制</b>即逢十进一;相似地,计算机也可以类比成一个有两个手指的生物。在之前档案室的例子中,我们已经看到了,对于任何一个开关,只有闭合和断开两种情况;因此,我们列出的每一种情况都可以转化为一组由0与1组合的数,这就是<b>二进制</b>数,即“逢二进一”,只需要0与1两种数字。所以,二进制的数表长这样:</p>
<p></p>
<div style="text-align:center;">
  <img alt="a2ab13de3d7359ff83f77f01f8b8c828.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-d6315f2774e5803e962ec4f1f463ebc2.png">
</div>
<p>对于计算机系统来说,二进制是最便于处理的,因为每一个数字都能和一条线路的高电平-低电平对应;而相对地,其它进制就会复杂不少,因为对输出与识别的精度要求提高了。不过据我了解,前苏联曾研制过一种叫做Сетунь的三进制计算机<sup>[1]</sup>,实际上更加接近人类的逻辑,还能够提高运算效率(而另据参考,越接近e进制,效率就越高<sup>[2]</sup>)。</p>
<p></p>
<div style="text-align:center;">
  <img alt="6539edd60045efb280450bb523cbc9a8.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-63dce4506927032deec4cfa8561d28d8.png">
</div>
<figcaption>
  1959年时的“Сетунь”,来自http://www.wyzxwk.com/Article/lishi/2011/09/254852.html
</figcaption>
<p><i>(以上部分道听途说消息并非重点,请勿太过在意)</i></p>
<blockquote>
  插播一则智力测试题:
  <br>你在和小刚玩扑克牌游戏,你的好朋友小明站在小刚身后,不停向你示意他的牌面;假设这副扑克牌不是普通的扑克牌,它的牌面最高有1000,而小明只能用十根手指的屈伸向你传递信息,那么,他如何才能最高效地表示数字?(单次能表示的数字最大)
</blockquote>
<p>但是,二进制有一个大问题,就是其每一位权值相对实在太低,很容易写出一长串数字,人脑难以处理。所以,在实际的逻辑设计中,我们往往还会用到<b>16进制</b>。它与二进制之间的转换比较直观,因此应用广泛:</p>
<p></p>
<div style="text-align:center;">
  <img alt="6448ab88b85c70103209a82c8a275f8c.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-23c63b4f29846179abc1f012256f8865.png">
</div>
<p>注意到,因为懒惰的人类只定义了十个数字,所以当进制超过十时,就会需要从英语字母表“借”字母来表示数字。因此,A&#61;10, B&#61;11, C&#61;12,等等。(至于超过三十六进制后怎么办?我也不晓得)</p>
<p>这样,计算机中最小的处理单位,字节(8bit,一个bit即二进制数的一个数位),就可以表示为一个两位十六进制数,比原先的二进制数串优雅不少。(在电路设计中,有时也会说“该电路接收一个十六进制输入”:这可不是说这个电路能识别3或者9这样的数字,而只是说它以四位bit为一组表示数据)</p>
<p></p>
<div style="text-align:center;">
  <img alt="2b7959890be836ad997138a2664c60ce.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-74ac196dec354846002b384db65683d9.png">
</div>
<figcaption>
  十六进制下的九九乘法表,是否有一种别样的简洁之美?(并没有)
</figcaption>
<p>用数学一点的定义,对于n进制表示的m位整数 </p>
<div style="text-align:center;">
  <img alt="" src=""> ,每一位都有一个确定的权值,因此可以用位权展开式表示为:
</div>
<div style="text-align:center;">
  <img alt="" src="">;比如,十进制数
</div>
<div style="text-align:center;">
  <img alt="" src=""> ;再比如,二进制数
</div>
<div style="text-align:center;">
  <img alt="" src=""> ,也就是25。这样,我们只需解一个方程,就一定可以完成进制的转换。&
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP