「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

アンパック10進数

pointこの用語のポイント

pointコンピュータさんの数字の扱い方だよ

point10進数の各桁を、それぞれ2進数8桁(1バイト)で表現するよ

スポンサーリンク

簡単に書くよ

アンパック10進数(読:アンパックジュッシンスウ 英:unpacked BCD)とは

コンピュータ上での数字の扱い方のひとつ
であり

例えば「12」を「00000001 00000010」のようにする、10進数(各桁が「10」になると桁上がりする数字)の数字の各桁を それぞれ2進数(各桁が「2」になると桁上がりする数字)8桁(1バイト)で表現するやり方(で表現した数字)
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

ビット
バイト
10進数
2進数
2進化10進数BCD


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ビットは、コンピュータさんの世界における「0か1が入る箱」です。

アンパック10進数

あるいは、この「0か1が入る箱」の数を表す単位です。
例えば「4ビット」であれば「0か1が入る箱が4つあるよ」の意味になります。

アンパック10進数2

バイトは「ビットが8つ集まったもの」です。
0か1が入る箱(ビット)が8つ入るくらいの大きな箱がバイトだと思ってください。

アンパック10進数3

あるいは、このデカい箱の数を表す単位がバイトです。
「2バイト」であれば「ビットが8つ入る大きさの箱が2つあるよ」の意味になります。

アンパック10進数4

……というのが基本ですけどね。
こだわり派の人がいるかもしれないので補足しておきます。

実は必ずしも1バイトが8ビットとは限りません。
環境によっては「1バイト=7ビット」のときもあれば「1バイト=9ビット」の場合も あります。

ただし、一般的には

1バイト=8ビット

です。
それ以外は例外と捉えて、あまり気にしないでください。

10進数は「各桁が『10』になると桁上がりする数字」です。

アンパック10進数5

みなさんが日常生活で使っている数字は、ほとんどが10進数です。

2進数は「各桁が『2』になると桁上がりする数字」です。

アンパック10進数6

具体的には

10進数:2進数
0:0
1:1
2:10
3:11
4:100
5:101
6:110
7:111
8:1000
9:1001
10:1010


のような感じです。

2進化10進数は「10進数の数字の各桁を、それぞれ2進数4桁で表現するやり方(で表現した数字)」です。
BCD」と表現されることも あります。

アンパック10進数7

「BCD」と表現された場合は「Binary-Coded Decimal(バイナリ・コーデッド・デシマル)」の略です。
気が向いたら、覚えてあげてください。

アンパック10進数8

※「Binary-Coded Decimal」を何となく日本語にすると「2進法で符号化された10進数」となります。[詳細]

例えば、そうですね。

10進数で「19」という数字が あったとしましょう。

アンパック10進数9

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

アンパック10進数10

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

アンパック10進数11

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

アンパック10進数12

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

アンパック10進数13

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

アンパック10進数14

なお、2進数4桁に変換するのは「9」を表現するのに4桁必要だからです。
10進数「9」は2進数で表現すると「1001」になります。
「2進数が4桁あれば0から9まで表現できるよね」という理由で4桁になっているのです……多分。

以上を踏まえて

10進数の数字の各桁を、それぞれ2進数8桁(=1バイト)で表現するやり方(で表現した数字)

が「アンパック10進数」です。
ゾーン10進数」とも呼ばれます。

アンパック10進数15

アンパック10進数の考え方は2進化10進数と同じです。
2進化10進数では2進数4桁だったのがアンパック10進数では8桁になるだけです。

それでは、どうして4桁で済むのに8桁使うのでしょうね?

それはコンピュータさんの都合が関係してきます。

アンパック10進数16

2進数4桁は4ビットです。
2進数4桁を表現するには、0か1が入る箱が4個必要ですよね。

アンパック10進数17

2進数8桁は8ビットです。
2進数8桁を表現するには、0か1が入る箱が8個必要ですよね。

アンパック10進数18

ただし、8ビットは1バイトです。
ビットが8つ入る大きな箱(バイト)を1つ用意すれば、それで済みます。

アンパック10進数19

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

アンパック10進数20

そんな理屈……かどうかは知りませんが、多分そんな理屈で

「頑張れば2進数4桁(4ビット)で表現できるけど、管理上楽だから2進数8桁(1バイト)で表現するね!」になっている2進化10進数っぽいやつ

がアンパック10進数です。

なお、実際の中身は、もう少しだけ複雑です。
例えば「マイナスの数は、どう表現するの?」とかがありますからね。
そこら辺の あれやこれやは他のところで勉強してください。


image piyo2

一言でまとめるよ

まぁ「アンパック10進数」って単語が出てきたら「10進数(各桁が「10」になると桁上がりする数字)の各桁を、それぞれ1バイトで表現するやり方(で表現した数字)なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像025
書籍画像005

おまけ

■訳してみるよ

「un(アン)」という接頭辞が付くと「否定」とか「反転」の意味になります。
「pack(パック)」の意味は「包み」とか「荷物」とか「包む」とかです。
「10進数」は日本語ですね。
何となく くっつけると

包まれていない10進数

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
タヌキとキツネ
あたえる人があたえられる