「パック十進数」と「ゾーン十進数」の違い
予備知識
| 用語 | 意味 |
|---|---|
| ビット | コンピュータの世界における「0か1が入る箱」のこと。あるいはコンピュータの世界における「0か1が入る箱」の数を表す単位 |
| バイト | たまに違う場合もあるけど、普通は「8ビット」を表す単位。0か1が入っている箱が8個ある状態 |
| 十進数 | それぞれの桁の数字が「10」になると桁上がりする数字 |
| 二進数 | それぞれの桁の数字が「2」になると桁上がりする数字 |
| 二進化十進数(BCD) | 十進数の各桁を、それぞれ二進数4桁で表現するやり方(で表現した数字) |
二進化十進数(BCD)は「十進数の数字の各桁を、それぞれ二進数4桁で表現するやり方(で表現した数字)」です。

例えば、そうですね。
十進数で「19」という数字が あったとしましょう。

二進化十進数にするときは数字の各桁を分けて考えます。
具体的には「1」と「9」に分けるのです。

十進数の「1」を二進数4桁で表現すると「0001」です。

十進数の「9」を二進数4桁で表現すると「1001」になります。

2つをくっつけた「0001 1001」が十進数「19」を二進化十進数で表現したものです。

基本的には、これだけです。
桁数が増えても考え方は同じです。
例えば3桁の十進数「125」であれば「1」と「2」と「5」に分けて、それぞれ二進数4桁「0001」「0010」「0101」に変換して、くっつけるだけです。

なお、二進数4桁に変換するのは「9」を表現するのに4桁必要だからです。
十進数「9」は二進数で表現すると「1001」になります。
「二進数が4桁あれば0から9まで表現できるよね」という理由で4桁になっているのです……多分。
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| パック十進数 | コンピュータ上での数字の扱い方のひとつで、十進数の数字の各桁を それぞれ二進数4桁(4ビット)で表現するやり方(で表現した数字) |
| ゾーン十進数 | コンピュータ上での数字の扱い方のひとつで、十進数の数字の各桁を それぞれ二進数8桁(1バイト)で表現するやり方(で表現した数字) |
似ているところ
どちらも二進化十進数の親戚です。
十進数の数字の各桁を それぞれ二進数で扱うやり方です。
違うところ
一番分かりやすい違いは、十進数の1桁を何ビットで表現するかです。
それぞれ
パック十進数:4ビット
ゾーン十進数:1バイト(8ビット)
で表現します。

※話を単純化するために「00001001」と表現しましたが、ゾーン十進数の先頭4ビットは「ゾーンビット」や「ゾーン部」などと呼ばれ、別の用途で使われています。そこら辺の あれやこれやは他のところで勉強してください。
また、それに伴い「マイナスの数を、どう表現するか?」とかの細かい違いがあります。
備考
「1」から「9」までの数字は二進数4桁(4ビット)で表現できます。

ただし、コンピュータさん的には4ビット単位で管理するより1バイト単位で管理する方が楽だったりします。
小さい箱が4つもあるより大きい箱が1つだけある方が管理しやすそうですよね。

そこで、管理が楽な1バイト(8ビット)単位で扱うのがゾーン十進数です。

とはいえ、本来4ビットで済むのに1バイト(8ビット)使うのは無駄が出ます。
もったいないです。

そこで、無駄のない4ビット単位で扱うようにしたのがパック十進数です。

あと、ゾーン十進数は「アンパック十進数」とも呼ばれます。






