プロセッサ
4ビット ? 8ビット ? 12ビット ? 16ビット ? 18ビット ? 24ビット ? 31ビット ? 32ビット ? 36ビット ? 48ビット ? 60ビット ? 64ビット ? 128ビット
アプリケーション
16ビット ? 32ビット ? 64ビット
データサイズ
ニブル
コンピューティングにおいて、ニブル (nibble) とはデータ量の単位の一つで、4ビットのこと[1][2]であり、オクテットの半分である。
バイト(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ビットで動作するマイクロコントローラが使用されている。 "nibble"という言葉は、"half a byte"(半バイト)を表す用語に由来しており、その綴りは"byte"の同音異義語のbiteによるものである[3]。2014年、ワシントン州立大学名誉教授のDavid B. Bensonは、1958年ごろの彼がロスアラモス国立研究所のプログラマだったときに、二進化十進表現 (BCD) の1桁を保持するのに必要な記憶単位としての"half a byte"の意味としてnibbleという言葉をふざけて使っていた(そして、おそらくはそれを造語したかもしれない)ことを思い出した。1980年代初頭の雑誌『キロボー・マイクロコンピューティング
歴史
ニブルは、IBMのメインフレームにおいて、パック10進数で格納されている数字の桁を記憶するのに使用されるメモリ量を記述するために使用された。この手法は、計算を速くし、デバッグを容易にするために使用された。8ビットのバイトは半分に分割され、各ニブルは1桁の10進数を格納するために使用される。変数の最後(最も右)のニブルは符号用に予約されている。従って、変数には最大9桁まで格納でき、5バイトに「パック」される。1バイトの値を表すのに2桁の16進数を使用する16進ダンプにより、数値の読み取りが可能になり、デバッグが容易になった。例えば、5つのBCD値31 41 59 26 5Cは、10進数値+314159265を表す。 歴史的に、nybbleが4ビット以上のグループに使用されるケースがあった。Apple IIでは、ディスクドライブ制御とグループ符号化記録方式 16通りの1ニブルの値 例二進数十六進数
ニブルの表
0000 0100 00100 4 2
0010 1010 10012 A 9
0010 0000 10012 0 9
1110 0100 1001E 4 9
0011 1001 01103 9 6
0001 0000 00011 0 1
0011 0101 01003 5 4
0001 0110 01001 6 4
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
上位ニブルと下位ニブル