Upload
bcrikko
View
697
Download
0
Embed Size (px)
Citation preview
C 言語入門~ n 進数と基数変換について ~
2本日の目標
• 2, 8, 10, 16 進数の変換方法を覚える
コンピュータは、「 0 」と「 1 」しか扱えない
4「 0 」と「 1 」しか扱えない①
• すべてのデータは「 0 」と「 1 」で
つくられている
• 画像だって、音楽だって、動画だって
すべてが「 0 」と「 1 」の集合体
5「 0 」と「 1 」しか扱えない②
• 黒 (0) と赤 (1) しかないけど、
「 A 」を表現できる
• いっぱい集まれば、他の文字
や図形が表現できる
• 「 0 」と「 1 」の単位を、
1bit (ビット)と呼ぶ
• 1bit が 8 つ集まると
1byte (バイト)と呼ぶ
10 進数と 2 進数
710 進数と 2 進数①
• 人間が数を数えるとき、
0 ~ 9 の 10 個の数字を使っている
「やさしい C 」 p.35
11 0
1 0 0
× 100, 1, 2, 3, 4, 5, 6, 7, 8, 9...
「 9 」の次は、 桁が 1 つ上がり「 10 」になる。
10 倍ごとに桁があがるので
「 10 進数」と呼ぶ× 10
810 進数と 2 進数②
• コンピュータが数を数えるとき、
0 と 1 の 2 個の数字を使っている
「やさしい C 」 p.35
0
1 0
1 0 0
1
1 1
2 進数
0
2
4
1
3
10 進数
× 2
× 2
0, 1, 10, 11, 100, 101, 110, 111...
「 1 」の次は、 桁が 1 つ上がり「 10 」になる。
2 倍ごとに桁があがるので
「 2 進数」と呼ぶ
…
…
…
…
…
98 進数と 16 進数①
• 10 進数、 2 進数と基本は同じ
8 進数は、 0 ~ 8 が使える
16 進数は、 0 ~9 ~ A ~ F が使える• 8 進数はあまり使われないけど
108 進数と 16 進数②
8 進数
16 進数
ひとつの桁で、0 ~ 7 の数値を表す
2 進数にすると ひとつの桁で
2 進数 3 桁分の情報が表現できる
0 ~ 111 000 ~ 111
ひとつの桁で、0 ~ 15 の数値を表す
2 進数にすると ひとつの桁で
2 進数 4 桁分の情報が表現できる
0 ~ 1111 0000 ~ 1111
3 ビット
4 ビット
10 進数を n 進数に変換する
1210 進数を n 進数に変換①
• 基数変換: n 進数を n’ 進数に変換するこ
と
• 基数: n 進数の「 n 」のこと
• 割り算と掛け算で基数変換ができる
1310 進数を n 進数に変換②
他の 8 進数、 16 進数も同じ
基数 n
基本形10 進数(整数)
基数 n 上の商
基数 n 上の商
基数 n 上の商
0 になったら終わり
… 余り
… 余り
… 余り
下から順に並べて、n進数のできあがり!!
2
10 進数 → 2 進数 11
2 5
2 2
2 1 0
… 1
… 1
… 0
「 11」を 2進数に変換すると「 1011」になる!
… 余り … 1
n 進数を 10 進数に変換する
15n 進数を 10 進数に変換
他の 8 進数、 16 進数も同じ
基本形 2 進数 → 10 進数
n³ n² n¹ n⁰
1 0 1 1× × × ×
+↓ ↓ ↓
1n³ 0n² 1n¹ 1n⁰+ +↓
各桁に基数の x乗した値をすべて合計した値が 10進数
結果が 10 進数
2³ 2² 2¹ 2⁰
1 0 1 1× × × ×
+↓ ↓ ↓
8 0 2 1+ +↓
「 1011」を 10進数に変換すると「 11」になる
= 11
16参考文献
• キタミ式 イラスト IT 塾 基本情報技術者