わっふるぶろぐ

わっふるが日々の出来事をただただ書いていきます~

『CODE』第9章 ちょびっとずつビットで

タイトルがダジャレでちょっと面白かったです笑

 

この章では2進数字(ビット)の使い方を様々な例を用いて説明されてました!ここでは、これまで登場したモールスコードと点字、そして第3のコード、バーコードについて説明します。

バーコードbarcode)は、縞模様状の線の太さによって数値や文字を表す識別子数字、文字、記号などの情報を一定の規則に従い一次元のコードに変換し、レジスターなどの機械が読み取りやすいデジタル情報として入出力できるようにしている。

出典:バーコード - Wikipedia

 つまり、バーコードはバイナリコードなんです!よくあるタイプのものは、様々な太さの黒い縦線(バー)が30本あり、その間の間隔(ギャップ)の幅も様々で、いくつか数字がついている↓のようなタイプです。

f:id:waffle202:20200225234623p:plain

バーコード

黒いバーの幅は、一番細いものとその2倍、3倍、4倍の4種類です。間のギャップも同様の4種類です。

スキャナが見るのはバーコード全体ではなく、横一列の薄切り部分だけです。縦長なのはスキャナで読み取りやすくするためです。最初の黒いバーにビット1を割り当て、次の白いギャップにビット0を割り当てます。このバーコードは95ビットの列になっていて、ビットを次のようにグループ化できます。

f:id:waffle202:20200302100104p:image

最初の3ビットは常に101です。この最初の2本線(ガードパターン)のおかげで単一ビットに対応するバーとギャップの幅を決定することができます。右側にもガードパターンがあるのは、反対側からも読み取れるようにするためです。

たしかにどのバーコードにも両サイドに2本線がありますよね!これがないと、商品のバーコードは全て一定のサイズでなければなりません!

左側と右側の数字は、下に印刷してある数字を7ビットにコード化したものです。

 

また、第1章ではモールスコードを見てきました。

 

waffle202.hatenablog.com

 

バーコードは横方向だけで見ればモールスコードによく似ています。実は、モールスコードもビットで表現することが可能なんです!

ビットに変換すると、ドットは1が1個、ダッシュは1が2個とすることができます。空白は0がいくつか使われます。↓はモールスコードの基本となる表です。

f:id:waffle202:20200228132156p:image

次の表はビットに変換したものです。

f:id:waffle202:20200228132232p:image

 

また、第3章では点字を見てきました。

 

waffle202.hatenablog.com

 

6個の各点は平らか凸かの2種類なので、点字は6ビットコードで表現できます

例えば、「code」という単語は点字で↓のように表現します。

f:id:waffle202:20200225235439p:image

凸点を1、平らな点を0とすると、次のようにビット化できます。

 

100100 101010 100110 100010

 

ちなみに、この本の表紙にモールスコードと点字で「code」と書かれています!最初は何かなと思ってましたが、この章でようやく謎が解けました笑

 

この本の後半で取り上げられますが、ビットは言葉、画像、音声、音楽、映画をも表現することができます!

 

第10章では、論理演算をビットで表現し、電気回路に応用できることを説明していきます。

 

waffle202.hatenablog.com