04-1. 書碼與條碼

已發行的書本上,會有一組10或13位數的數字,通常會印在書背上。最後一位的數字就是檢查碼,就像卡片翻轉魔術中的同位卡片一樣。


這表示如果你訂購了一本使用了ISBN (International Standard Book Number,國際標準書號) 的書,網站能幫你檢查書號有沒有錯誤。只需要依據規則檢查同位檢查碼就好了,這樣就不會等了老半天,卻拿到錯誤的書本。


食品雜貨所使用的條碼,用的是不同的公式。如果條碼讀錯了,掃描器會發出嗶嗶的聲音,櫃檯的結帳人員就會重新掃描一次條碼。此外,檢查碼的概念還會應用在銀行帳號、身份證字號、火車等大眾交通工具等。

使用10位數字的國際標準書號,又稱為ISBN-10;使用13位數字的國際標準書號,則稱為ISBN-13,分別有不同的檢查方式

1. ISBN-10:

例如:ISBN為0-13-911991-4的書,依據以下公式,算出來的值為

(0 x 10) + (1 x 9) + (3 x 8) + (9 x 7) + (1 x 6) + (1 x 5) + (9 x 4) + (9 x 3) + (1 x 2) = 172

接著將算出來的值除以11,餘數是多少?

172 ÷ 11 = 15 餘 7

如果餘數是0,檢查碼就是0。如果不是的話,就用11減掉餘數,得到的值就是檢查碼。

11 - 7 = 4

最後檢查該書號的最後一碼,跟算出來的檢查碼是否一致。必需是一致的,才代表這個ISBN碼正確。


2. ISBN-13:

例如:ISBN為978-986-181-728-6,依據以下公式,算出來的值為

(9 x 1) + (7 x 3) + (8 x 1) + (9 x 3) + (8 x 1) + (6 x 3) + (1 x 1) + (8 x 3) + (1 x 1) + (7 x 3) + (2 x 1) + (8 x 3) = 164

接著將算出來的值除以10,餘數是多少?

164 ÷ 10 = 16 餘 4

如果餘數是0,檢查碼就是0。如果不是的話,就用10減掉餘數,得到的值就是檢查碼。

10 - 4 = 6

最後檢查該書號的最後一碼,跟算出來的檢查碼是否一致。必需是一致的,才代表這個ISBN碼正確。


練習1:請將下列ISBN碼的最後一位檢查碼填上正確數字。
(1) 986-470-526-□
(2) 978-986-470-666-□


練習2:找出下列ISBN碼中,正確的選項
(1)
  (A) 986-929-945-8
  (B) 986-235-536-0
  (C) 986-235-543-3
(2)
  (A) 978-986-477-101-3
  (B) 978-957-136-792-7
  (C) 978-986-931-045-9


練習3:按照指示,打開金石堂網路書店的網頁,找到任一書本的ISBN碼後,利用公式實際檢查該書本的ISBN碼是否正確。


練習4:透過金石堂網路書店的進階搜尋功能,輸入在剛剛的練習題中得到的正確ISBN-13碼,看看找到的是什麼書。


【這個活動在說什麼?】

想像你將10塊錢現金存入銀行的帳戶。出納員整理出所有存款的量,並傳送到中央電腦。假設在傳送的過程中, 線路發生了一些干擾,結果數字從10塊錢變成1000塊。雖然你會覺得開心,但是這對出納員來說是一個天大的災難。

在傳送資料時檢查錯誤是非常重要的。所以接收端的電腦需要檢查傳過來的資料沒有因為某些干擾造成損毀。有時候發生傳送錯誤時,原始資料可以再傳送-次,但有些情況則是不行,比方說磁碟因為曝露在磁力或電力輻射或是高溫下,或是任何其它的物理性破壤而造成資料損毀。 如果資料是從深遠的太空偵測器傳送過來,那麼當錯誤發生時,等待重新傳送將會需要非常長的一段時間。(若在木星最靠近地球時,傳送訊息至地球大約需要半個小時)

因此,當資料損毀時,我們需要有辦法發現(錯誤檢查),並且能重建原始的資料(錯誤修正)。在卡片魔術活動時所用的技巧,藉由加入同位檢查位元到每一列與每一行,這樣我們不只能發現錯誤,還能找出錯誤的位置。這個出問題的位元會被改回去,這就是錯誤修正。

當然,電腦使用的錯誤控制系統通常會複雜得多,以檢查和修正多重錯誤。電腦中的硬碟裡,有很大量的空間是被用來做錯誤修正的。這樣即使部份的硬碟壞了,也還是可以工作。

【課外活動 - 條碼的產生與讀取】

條碼產生器 http://online-barcode-generator.net/

網頁條碼讀取辨識 http://www.onlinebarcodereader.com/