2の冪乗

well-knownな2の冪乗は、丸暗記してしまいましょう。
毎日、呪文のように唱えていれば、自然に暗記します(^ ^;)
intの最大値は、「ニジュウイチオクヨンセンナナヒャクヨンジュウハチマンサンゼンロッピャクヨンジュウナナ」とかね。

2の冪乗 10進数
2^0 1
2^4 16
2^5 32
2^6 64
2^8 256
2^10 1024
2^16 65,536
2^31 2,147,483,648
2^32 4,294,967,296

内容 数式
nビットで表現できる数の種類 2^n
nビットで表現できる最大の整数(符号なし) (2^n)-1
nビットで表現できる最大の整数(符号あり) (2^(n-1))-1
N(10進数)を表現するのに必要なビット数 Nの2を底とする対数(小数点第一位以下は繰上げ)*1

データ型 ビット数 表現可能な範囲*2 *3
signed char 8 -128 〜 127
unsigned char 8 0 〜 255
signed short 16 -32,768 〜 +32,767
unsigned short 16 0 〜 65,535
signed int 32 -2,147,483,648 〜 +2,147,483,647
unsigned int 32 0 〜 4,294,967,295

16進数の覚え方。「A10,B11,C12,D13,E14,F15」を唱える。

ビット列も、「絵」として覚えましょう(^^;)

Bin Hex Dec
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 A 10
1011 B 11
1100 C 12
1101 D 13
1110 E 14
1111 F 15

*1:google電卓では、Nの2を底とする対数は「lg(N)」と入力すれば計算できます。

*2:8bit=1byte=char、int=4byte、2の補数表現の処理系とします。

*3:limits.hにマクロ定義あり。