ここは川俣晶のウェブサイトの[旧館]にあたります。[新館]としてオータム マガジン川俣晶の縁側があります。

ビット数と表現可能な種類の関係表


最終更新: Mon Sep 12 15:31:11 2011


 この情報は、本書11ページ「ビットとは何か」を補足するものである。 小形克宏の「文字の海、ビットの舟」 文字コードが私たちに問いかけるもの 〜第1部 2000JISがやってきた 第3回 前回までの訂正と補遺にて、ビット数から表現できる文字種類への変換が分かりにくいという指摘を頂いたので、以下に、変換表を示す。


使用上の注意。この表は単純な算術的に取り得る可能性としての数値を示しているに過ぎない。実際には制御文字や特別な目的に使われるコード(文字列の終端記号)などに使われるコードがあり、実際に通常の文字を表現するためにすべての種類が利用可能というわけではない。また、シフトJISのように、文字によってビット長さが可変であるものは、下記の表からは単純に表現可能な文字種類を調べることができない。それぞれの方式ごとに計算を要する。一般的に、8ビットと16ビットの可変長のシステムを使うとすると、それが取り得る種類は、8ビット → 256種類と、16ビット → 65536種類の中間、つまり、256種類より大きく、65536種類より小さい範囲内のどれかになる。


1ビット → 2種類

2ビット → 4種類

3ビット → 8種類

4ビット → 16種類

5ビット → 32種類

6ビット → 64種類

7ビット → 128種類

8ビット → 256種類

9ビット → 512種類

10ビット → 1024種類

11ビット → 2048種類

12ビット → 4096種類

13ビット → 8192種類

14ビット → 16384種類

15ビット → 32768種類

16ビット → 65536種類

17ビット → 131072種類

18ビット → 262144種類

19ビット → 524288種類

20ビット → 1048576種類

21ビット → 2097152種類

22ビット → 4194304種類

23ビット → 8388608種類

24ビット → 16777216種類

25ビット → 33554432種類

26ビット → 67108864種類

27ビット → 134217728種類

28ビット → 268435456種類

29ビット → 536870912種類

30ビット → 1073741824種類

31ビット → 2147483648種類

32ビット → 4294967296種類

33ビット → 8589934592種類

34ビット → 17179869184種類

35ビット → 34359738368種類

36ビット → 68719476736種類

37ビット → 137438953472種類

38ビット → 274877906944種類

39ビット → 549755813888種類

40ビット → 1099511627776種類

41ビット → 2199023255552種類

42ビット → 4398046511104種類

43ビット → 8796093022208種類

44ビット → 17592186044416種類

45ビット → 35184372088832種類

46ビット → 70368744177664種類

47ビット → 140737488355328種類

48ビット → 281474976710656種類

49ビット → 562949953421312種類

50ビット → 1125899906842624種類

51ビット → 2251799813685248種類

52ビット → 4503599627370496種類

53ビット → 9007199254740992種類

54ビット → 18014398509481984種類

55ビット → 36028797018963968種類

56ビット → 72057594037927936種類

57ビット → 144115188075855872種類

58ビット → 288230376151711744種類

59ビット → 576460752303423488種類

60ビット → 1152921504606846976種類

61ビット → 2305843009213693952種類

62ビット → 4611686018427387904種類

63ビット → 9223372036854775808種類


技術的補足。上記の表は、下記のプログラムで生成したものである。これは、Visual C++ 6.0のコンソールアプリケーション用のソースコードである。

#include "stdio.h"

int main(int argc, char* argv[])
{
     __int64 n = 2;
     for( int i=1; i<=63; i++ ) {
             printf("%dビット → %I64u種類\n", i, n);
             n = n << 1;
     }
     return 0;
}

パソコンにおける日本語処理/文字コードハンドブック サポートページ目次に戻る

QUICK MENU: [新館] / [旧館] Official→ [表紙] [著作] [旧館] Private→ [鉄道] [模型] [3DCG] [音楽] [写真] [日記]


autumn banner
作成:川俣 晶
電子メールアドレス/ autumn@piedey.co.jp