编码:隐匿在计算机软硬件背后的语言(2)--二进制

1比特是可能存在的最小的信息量,任何小于1比特的内容根本算不上是信息。

信息是指多个可能性中的一种。

最常见的二进制数的表现形式也许就是无处不在的通用产品代码(UPC,Universal Product Code)。

有趣的是,UPC也是二进制码,虽然乍看起来不太像。下面看看UPC是怎样工作的,就会明白。

以下图所示的UPC为例。


我们试着这样解读,将UPC看作一系列比特位。将黑色条纹看作1,白色间隙看作0,;由于黑条纹的宽度和白间隙的宽度是成倍数的,宽条纹的宽度是窄条纹的二倍三倍,将最窄的条纹作为基元。将上图的一个断面取出如下所示。


实际上,计算机扫描时正式这样处理的,转换后本例中的条纹和比特位之间的关系可以如下表示。


整个UPC一共95位二进制数,起初的3个比特通常是1 0 1,这就是最左边的护线,它帮助计算机扫描仪定位。从护线中,扫描仪可以知道代表单个比特的条或间隙的宽度,所有包装上的UPC印刷大小都是一样的。

最左边的护线之后是6组比特串,每串7个比特位。每一组代表0-9中的一个数字。就下来是5个比特位的中间护线,通常是01010,它是一个内置的检错码,预防条形码被篡改或印错。中间护线后又是6组比特串,每组7个比特位,最右边是右侧护线,共3位,101。

对于中间护线左右两侧的6组比特串,可以用下面的图示方法进行编码。


 

左边的编码方式中,以0开头,以1结尾,而且采用奇校验,每组1的个数都是奇数个。右边的编码方式都是以1开头,以0结尾,而且是左边编码对应的反码,采用偶校验。利用上面两个编码表,我们解码后的数字是

0  51000  01251  7

这一串数字与条形码下面的数字一模一样,这并非巧合。

上面的这串数字的第一个数字被称为数字系统符。接下来5个表示制造商编码,后5位是该厂商的商品编码。最后一位数字按下图所示的方式计算。

用A-K表示这11个数字。


按下列方式组合计算


代入数据


然后用最接近这个结果的10 的整数倍(这里是30)减去这个数

也就是30-23=7,正好是最后一位数字。

这样UPC总共使用95个比特位来表示11位有效的十进制数,实际上UPC左右护线两侧还有空白位置。之所以加入这些冗余是为了安全,如果条形码虽已被改动就没有任何意义了。

当从右向左扫描时,编码方式反之即可。编码表如下所示,


  

条形码本质上使用二进制描述的,莫尔斯码也是如此。把莫尔斯码的点和划以及两者之间的空白看作二进制的0和1也会有类似的表述方式。

虽然一个比特位只能表示两种状态,但是二进制的比特可以做的事情太多了。0和1无处不在。


上一篇-->编码:隐匿在计算机软硬件背后的语言(1)--编码到二进制数字系统

下一篇-->编码:隐匿在计算机软硬件背后的语言(3)--二进制加法器


转载于:https://www.cnblogs.com/hitfredrick/p/6403013.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假若你才1 0岁,你的好朋友与你临街而住,而且你们卧室的窗户面对着面。每天晚上, 当父母像平常一样很早催你上床睡觉时,你可能还想与好朋友交流思想、发现、小秘密、传 闻、笑话和梦想,没有人可以责备你,毕竟,渴望交流是大多数人的天性。 当你们卧室还亮着灯时,你和你的好朋友可以临窗舞动手臂、打手势或以身体语言来交 流思想,但复杂一些的交流就有些困难了。而且一旦父母宣布“熄灯”,交流也就无法继续进 行了。 如何联系呢?用电话吗? 1 0岁的小孩子屋里有电话吗?即使有,你们的谈话可能被偷听。 如果家里的电脑通过电话线联了网,它可能会提供无声的帮助,不过很不幸,它也不会在你 的房间里。 你和朋友采用的方法是用手电筒。所有的人都知道手电筒是为孩子们藏在被窝里看书而 发明的,它也适合在黑暗中用来交流。它无声无息,且光的方向性很好,不会从卧室的门缝 中泄露而使家人起疑。 用手电筒的光可以交谈吗?这值得一试。一年级你就学过在纸上写字母和单词,把这种 方法运用到手电筒上看起来也合情合理。你所需做的就是临窗而站,用光画出字母。画字母 ‘O’,就打开电筒,在空中画个圈,然后关上开关;字母‘ I’则是画竖直的一笔。但是你很 快发现这种方法行不通,当你注视来去飞舞的光柱时,会发现在脑海中将它们组合起来不是 件容易的事,这些光划成的圈圈杠杠太不准确了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值