こんばんは、ちきなるです。
今回は、数の数え方について書きたいと思います。
一般的には、10進数が使われていますが、コンピュータでは、2進数や16進数が使われることがあります。私自身プログラミングを行っている時に、2進数や16進数を使うことがあるので、簡単に説明してみます。
8進数はおまけです。10進数以外の数え方を勉強する時、理解しやすいように一緒に覚えることが多いです。私は勉強以外で今のところ使ったことがありません。
10進数について
10進数とは、
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
と10個の数字で数を数える方法です。
“0”から始まり、”9″で終わる数え方です。
“9”の次は桁が上がり、”10″となります。
“99”まで行くと桁が上がり、”100″となります。
一般的に数を数える方法として使用されます。
8進数について
8進数とは、
0, 1, 2, 3, 4, 5, 6, 7
と8個の数字で数を数える方法です。
のように”0″から始まり、”7″で終わる数え方です。
“7”の次は桁が上がり、”10″となります。
“77”までいくと桁が上がり、”100″となります
16進数などを勉強する時、理解しやすいように一緒に教えられる事が多い数え方です。
10進数と8進数の対応表
2進数について
2進数とは、
0, 1
と2個の数字で数を数える方法です。
※”101″以降は、101, 110, 111, 1000 となります。
“0”から始まり、”1″で終わる数え方です。
“1”の次は桁が上がり”10″となります。
“11”までいくと桁が上がり、”100″となります。
“111”までいくと桁が上がり、”1000″となります。
コンピュータが認識する値としてよく使用されます。1ビットが2進数の1桁で、1バイトが2進数の8桁で表記されます。
1ビットは、”ON” “OFF”のように2つの状態で認識を行うので、2進数の1桁で1ビットが表現できます。
“ON” = 1
“OFF” = 0
10進数と2進数の対応表
16進数について
16進数とは、
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
と16個の数字で数を数える方法です。
“0”から始まり、”F”で終わる数え方です。
“F”の次は桁が上がり、”10″となります。
“FF”までいくと桁が上がり、”100″となります。
2進数を省略する時によく使われます。2進数4桁の最大値”1111″が16進数1桁の最大値”F”と値が同じなので、2進数を4桁毎に、16進数の1桁に置き換えて表記されることが多いです。
10進数と16進数の対応表
10進数への変換
n進数のnから1を引いた値が1桁の最大値です。
2進数なら”1″、8進数なら”7″、16進数なら”15″です。
10進数への変換は桁毎に10進数に変換して、最後に足すことで変換できます。
n進数の各桁は、”n^(桁数-1)×桁の値”で変換できます。
※n^0は”1″、n^1は”n”、n^2は”n×n”、n^3は”n×n×n”です。
n進数2桁を10進数に変化する場合は、”n^(2-1)×2桁目の値”です。
※2桁目は、n進数のn分、数が増えると値が増えるので、”n×2桁目”の値で2桁目の変換が出来ます。
※2^(2-1)×1
※8^(2-1)×2桁目の値
※16^(2-1)×2桁目の値
3桁目は、”n^(3-1)×3桁目の値”です。
※3桁目は、n進数のnがn回増えると数が増えるので、”n×n×3桁目の値”で3桁目の変換が出来ます。
※2^(3-1)×1
※8^(3-1)×3桁目の値
※16^(3-1)×3桁目の値
以降、桁が上がると、”n^(桁数-1)×桁の値”で変換できます。
※4桁目は、3桁目がn回増えると数が増えるので、”(n×n)×n”で計算できます。5桁目は、4桁目がn回増えると数が増えるので、”(n×n×n)×n”で計算できます。桁が上がるのは、各桁の最小値がn回増えた時なので、各桁の最小値は、1つ下の桁の最小値にnを掛けた値で計算できます。
10進数変換の例
8進数”123″は、
8^(3-1)×1=64
8^(2-1)×2=16
8^(1-1)×3=3
64+16+3=83
となります。
2進数と16進数について
2進数4桁毎に、16進数1桁に置き換えられます。
16進数の桁が上がっても、桁毎に対応する2進数をくっつけると2進数に変換できます。
※16進数”44“などは、2進数”0100 0100“と置き換えられます。
2進数は、1バイトを表現する時に使われます。1バイトは8ビットなので、2進数で表現すると8桁必要になります。これが2バイト、3バイトと増えると、その分桁数が増えていきます。
これでは見にくいので、2進数を16進数に置き換えて表記されることが多いです。2進数4桁が16進数1桁なので、4分の1で表記できます。
2進数の最大値と表現数について
2進数の最大値は、”(2^桁数) – 1″です。
※一つ上の桁数の最小値から1を引いた値です。
2進数で表現できる数は、2^桁数です。
※1~最大値と0が表現できるので、最大値に1を足した値が表現できる数になります。
おまけ
1バイト=8ビット
1キロバイト=1000バイト
1メガバイト=1000キロバイト
1ギガバイト=1000メガバイト
1テラバイト=1000ギガバイト
昔は、2のべき乗と混同して使われていましたが、今はメビバイト、ギビバイト、テビバイト、で分けられているそうです。
1キビバイト=1024バイト
1メビバイト=1024キビバイト
1ギビバイト=1024メビバイト
1テビバイト=1024ギビバイト
コメント