第3章

11011้320

00110่400

0010่1500

00่1้11640

10110800่

101011้000

1011้11250่

011101600

0่1101้2000

01111้2500

1111032๐00

111้0่14000่

11111้5000่

多数现代的3๑5毫米照相机胶片用的都是这些代码除了那些要手工进行曝光的相机和具

有内置式测光表但需要手工设置曝光度的相机以外。如果你看过照相机的内部放置胶卷的

地方,你应该能够看到和胶片的金属方格1~6号相对应的6个金属可接触点。银色方格实

际上是胶ด卷暗盒中的金属,是导体;油漆了的黑色方格,是绝缘体。

照ั相机的电子线路中有一支流向方格1的电å流,方格1通常是银色的。这支电流有可能流

到方แ格2~6,这要依方แ格中是纯银还是涂了油漆而定。这样,如果照相机在接触点4和5๓检测

到了电流而在接触点2、3๑和6没有检测到,胶片的度就是400่aທsa。照相机可以据此调节曝

光时间。

廉价的照相机只要读方格2和方格3,并且假定胶ด片度是50่、100、2๐00或400asa四种可

能度之一。

多数相机不读方格8~12๐。方แ格8、9、10用来对这卷胶卷进行编码;方格11้和12指出曝光

范围,依胶片用于黑白照片、彩色照片还是幻灯片而定。

也许最常见的二进制数的表现形式是无处不在的up9iversalproductcode,通用产品

代码,即日常所购买的几乎所有商品包装上的条形码。条形码已经成为计算机在日常生活中

应用的一种标志。

尽管upc常常使人多疑,但它确实是一个无辜的小东西,明出来仅仅是为了实现零售

业的结算和存货管理的自动化,且其应用是相当成功的。当它和一个设计精良的结算系统共

同使用时,顾客可以拿到เ列出细目的售货凭条,这一点是传统现金出纳员所无法做到เ的。

有趣的是,upc也是二进制代码,尽管它初ม看起来并不像。将upc解码并看看upc码具

第9章二进制数55๓

下载

体是怎样工作的是很有益的。

通常情况下,upc是3๑0条不同宽度的垂直黑色条纹的集合,由不同宽度的间隙分割开,

其下标有一些数字。例如,以下是caທmpbell公司10盎司的罐装鸡汁面包装上的upc:

可将条形码形象地看成是细条和黑条,窄间隙和宽间隙的排列形式,事实上,这是观察条

形码的一种方式。黑色条有四种不同的宽度,较宽的条的宽度是最细条的宽度的两倍、三倍

或者四倍。同样,各条之间的间隙中较宽的间隙是最窄间隙的两倍、三倍或者四倍。

但是,看待upc的另一种方式是将它看作是一系列ต的比特。记住,整个条形码与条形码

扫描仪在结算台“看”到的并不完全一样。扫描仪不会识别条形码底部ຖ的数字,因为ฦ识别数

字需要一种更复杂的技术—光学字符识别技术,又称作ocropti9ition。

实际上,扫描仪只识别整个条形码的一条窄带,条形码做得很大是为了便于结算台的操作人

员用扫描仪对准顾ุ客选购的物品。扫描仪所看到เ的那一条窄带可以这样表示ิ:

它看上去是不是很像摩尔斯编码?

当计算机自左向右进行扫描时,它给自己้遇到的第一个ฐ条分配一个ฐ值为1的比特值,给与

条相邻的间隙分配一个值为0的比特值。后续的间隙和条被当作一行中一系列ต比特中的1้个、2

个、3๑个还是4个比特读进计算机要依据条或间隙的宽度而定。扫描进来的条形码的比特形式

很简单:

因此,整个ฐupc只是简单的由á95๓个比特构成的一串。本例中,这些比特可以像下面这样分组:

3

4๒

56编码的奥秘

下载

比特意义

最左边的护线

左边的数字

中间的护线

右边的数字

最右边的护线

起初的3๑个比特通常是101,这就是最左边的护线,它帮助计算机扫描仪定位。从护线中,

扫描仪可以知道代表单个比特的条或间隙的宽度,否则,所有包装上的upc印刷็大小都是一

样的。

紧挨着最左ุ边的护线是每组有7个比特位的六组比特串,每一组是数字0่~9的编码之ใ一,

我们在后面将证明这一点。接着的是5个ฐ比特的中间护线,此固定模式总是0่1010是一种

内置式的检错码。如果扫描仪在应当找到中ณ间护线的地方แ没有找到它,扫描仪就认为那不是

upc。中ณ间护线是防止条形码被窜改或错印的方法之一。

中间护线的后面仍是每组7个比特的6๔组比特串。最后是最右边的护线,也๣总是101。最后

的最右护线使得upcນ反向扫描也就是自右向左扫描同正向扫描一样成为可能,这一点我

们将在后面解释。

因而整个upc对12个ฐ数字进行了编码。左ุ边的upc包含了6๔个数字的编码,每个数字占有

7个比特位。你可以用下表进行解码:

左ุ边的编码

0001้101=0่0110่001=5

0่011001้=1้0101111้=6

0010่011=2๐0111011=7