広告あり

数の数え方【2進数 8進数 10進数 16進数】について

プログラミング

こんばんは、ちきなるです。

今回は、数の数え方について書きたいと思います。

一般的には、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ギビバイト

コメント

タイトルとURLをコピーしました