2進法及び16進法 |
定理
$\ n\ $進位取り記数表現は、常に次の条件を満たす。
1. $\ n\ $倍するたびに1つ桁が増える
2. 1桁で表すことができる数は、$\ n-1\ $までであり、(アラビア数字を使うのであれば)$\ 10\ $という数字は$\
n\ $を表す。
定理
任意の$\ n\ $進数が表す数は、十進数では$ \sum a_in^i\ $と書ける。
ここで、$\ a_i\ $は、$\ n^i\ $の位の数字である。
表示規則
文脈上二進数であることが明らかな場合を除き、二進表記された数は、プレフィックス"0b"または"%"のいずれかをつけて明示する。
文脈上十六進数であることが明らかな場合を除き、十六進表記された数は、プレフィックス"0x"または"$\$$"のいずれか、あるいはサフィックス"h"をつけて明示する。
証明
$\ n\ $ビットの情報量で表されるデータの総数は$\ 2^n\ $通りである。
このデータを圧縮するということは、元の入力よりも1ビット以上少ない出力を得るということである。したがって、出力は1ビットから$\
n-1\ $ビットまでのいずれかの情報量を持つ(0ビットでは情報が失われてしまうから圧縮できたことにならない)。
1ビット以上$\ n-1\ $ビット以下の情報量で表されるデータの総数は、$\ \sum_{k=1}^{n-1} 2^k=2^n-1\
$である。
これは$\ n\ $ビットの情報量で表すことのできるデータの総数よりも1少ない。
今考えている圧縮アルゴリズムは可逆圧縮であるから、入力と出力は必ず1対1対応していなければならない。
したがって、$\ n\ $ビットのデータのすべてを$\ n-1\ $ビット以下のデータに対応させることはできない。
よって、どのような可逆圧縮アルゴリズムを作ったとしても、少なくとも1つ以上は全く圧縮できないデータが存在する。
定義 (絶対値表現)
非負2進整数の最上位に符号ビットを付けたし、これが0であれば正の数、1であれば絶対値が同じ負の数をあらわすものとする。
定義 (下駄履き表現)
事前に決めておいた任意の整数Nを元の数値に足した非負整数を、エクセスNの下駄履き表現、あるいはバイアス表現という。
定義 (1の補数)
非負2進整数の最上位に1ビットを付けたし、この非負整数の各ビットを反転したものを、絶対値が同じ負の数とする。
定義 (2の補数)
非負2進整数の1の補数に1を加えた値(2の補数)を絶対値が同じ負の数とする。
10進 | 2進 | 16進 | 10進 | 2進 | 16進 |
---|---|---|---|---|---|
0
|
0
|
0
|
16
|
1 0000
|
10
|
1
|
1
|
1
|
32
|
10 0000
|
20
|
2
|
10
|
2
|
64
|
100 0000
|
40
|
3
|
11
|
3
|
100
|
110 0100
|
64
|
4
|
100
|
4
|
128
|
1000 0000
|
80
|
5
|
101
|
5
|
256
|
1 0000 0000
|
100
|
6
|
110
|
6
|
512
|
10 0000 0000
|
200
|
7
|
111
|
7
|
1024
|
100 0000 0000
|
400
|
8
|
1000
|
8
|
2048
|
1000 0000 0000
|
800
|
9
|
1001
|
9
|
4096
|
1 0000 0000 0000
|
1000
|
10
|
1010
|
A
|
8192
|
10 0000 0000 0000
|
2000
|
11
|
1011
|
B
|
16384
|
100 0000 0000 0000
|
4000
|
12
|
1100
|
C
|
32767
|
111 1111 1111 1111
|
7FFF
|
13
|
1101
|
D
|
32768
|
1000 0000 0000 0000
|
8000
|
14
|
1110
|
E
|
65535
|
1111 1111 1111 1111
|
FFFF
|
15
|
1111
|
F
|
65536
|
1 0000 0000 0000 0000
|
1 0000
|