トップQs
タイムライン
チャット
視点

ニブル

情報量の単位 ウィキペディアから

ニブル
Remove ads

コンピューティングにおいて、ニブル (nibble) とはデータ量の単位の一つで、4ビットのこと[1][2]であり、オクテットの半分である。

Thumb
ニブル順に並べられたコードページ866英語版のフォントテーブル

バイト(byte)に合わせてnybbleやnybleと綴られることもある。一般的な1バイト(8ビット)の半分であることからハーフバイト (half-byte) とも呼ばれる[3]テトラード (tetrade) ともいう[4][5]コンピュータネットワーク電気通信の分野では、セミオクテット (semi-octet) [6]クアッドビット (quadbit) [7]カルテット (quartet) [8][9]とも呼ばれる。1ニブルは16通り(24)の値を取り得る。1ニブルは十六進数の1桁であり、ヘックスディジット(hex digit)とも呼ばれる[10]。なお、英語のnibbleには、動詞として「少しずつ食べる」「ちょっとかじる」、また、名詞としてそのような場合の「少し」の意味がある。

1バイト(1オクテット)は2桁の十六進数で表されるので、すなわち1バイトの情報は2ニブルで表される。1バイトの取り得る値256個を16×16のテーブルで表示することで、各値の十六進数による値が読み取りやすくなる。

4ビットコンピュータ・アーキテクチャは基本単位として4ビットのグループを使用する。初期のマイクロプロセッサ電卓ポケットコンピュータは4ビットのアーキテクチャであった。現在でも4ビットで動作するマイクロコントローラが使用されている。

Remove ads

歴史

要約
視点

"nibble"という言葉は、"half a byte"(半バイト)を表す用語に由来しており、その綴りは"byte"の同音異義語の"bite"によるものである[3]。2014年、ワシントン州立大学名誉教授のDavid B. Bensonは、1958年ごろの彼がロスアラモス国立研究所のプログラマだったときに、二進化十進表現 (BCD) の1桁を保持するのに必要な記憶単位としての"half a byte"の意味としてnibbleという言葉をふざけて使っていた(そして、おそらくはそれを造語したかもしれない)ことを思い出した。1980年代初頭の雑誌『キロボー・マイクロコンピューティング英語版』や『バイト』の論説によれば、別の綴り"nybble"は"byte"の綴りを反映したものである。"nybble"という用語の初期に使われた形跡としては他に、1977年にシティバンクの消費者銀行テクノロジーグループ内での使用例がある。これは、現金自動預け払い機とシティバンクのデータセンターとの間のトランザクションメッセージに関して、ISO 8583が策定される以前に標準を作成したもので、基本的な情報単位として"NABBLE"を使用していた。

ニブルは、IBMメインフレームにおいて、パック10進数で格納されている数字の桁を記憶するのに使用されるメモリ量を記述するために使用された。この手法は、計算を速くし、デバッグを容易にするために使用された。8ビットのバイトは半分に分割され、各ニブルは1桁の10進数を格納するために使用される。変数の最後(最も右)のニブルは符号用に予約されている。従って、変数には最大9桁まで格納でき、5バイトに「パック」される。1バイトの値を表すのに2桁の16進数を使用する16進ダンプにより、数値の読み取りが可能になり、デバッグが容易になった。例えば、5つのBCD値31 41 59 26 5Cは、10進数値+314159265を表す。

歴史的に、nybbleが4ビット以上のグループに使用されるケースがあった。Apple IIでは、ディスクドライブ制御とグループ符号化記録方式英語版はソフトウェアで実装されていた。ディスクへのデータの書き込み時には256バイトのページを5ビット(後に6ビット)のニブルのセットに変換し、ディスクからデータをロードする時には逆の手順を行っていた[11][12][13]。さらに、Integrated Woz Machineに関する1982年の文書では、一貫して「8ビットニブル」を使用している[14]。バイトという用語もかつては同様の曖昧さを持ち、必ずしも8ビットを意味していたわけではなかった。そのため、バイトに対して明確に8ビットを意味する「オクテット」(octet) という用語が作られたが、同様にニブルについても明確に4ビットを意味する「カルテット」(quartet) や「クアッドビット」(quadbit) という言葉が作られた。今日では、「バイト」と「ニブル」という用語は、ほぼ常に8ビット、4ビットを意味するようになっており、他のサイズを表現するのに使用されることはめったにない。

Remove ads

ニブルの表

16通りの1ニブルの値

さらに見る 二進数, 十六進数 ...
0hex=0dec=0oct0000
1hex=1dec=1oct0001
2hex=2dec=2oct0010
3hex=3dec=3oct0011
4hex=4dec=4oct0100
5hex=5dec=5oct0101
6hex=6dec=6oct0110
7hex=7dec=7oct0111
8hex=8dec=10oct1000
9hex=9dec=11oct1001
Ahex=10dec=12oct1010
Bhex=11dec=13oct1011
Chex=12dec=14oct1100
Dhex=13dec=15oct1101
Ehex=14dec=16oct1110
Fhex=15dec=17oct1111
Remove ads

上位ニブルと下位ニブル

「上位ニブル」(high nibble) と「下位ニブル」(low nibble) という言葉は、バイト内の下位ビットおよび上位ビットをそれぞれ含むニブルを表すのに使用される。バイト内のビットの図形表現では、左端のビットが最上位ビット (MSB) を表すことがある。これは、数値の左側の数字が最上位である通常の十進表記に対応している。そのような例では、バイトの左端の4ビットが上位ニブル、残りの4ビットが下位ニブルを形成する[15]。例えば、 9710 = (0110 0001)2 においては、上位ニブルは 01102 (6)、下位ニブルは 00012 (1)である。

関連項目

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads