Part 02 Chapter 06(P.82)
進数って?
私たちは普段「10進数」で数を表記しています。
コンピュータの世界ではこのほか「2進数」「8進数」「16進数」という表記方法を使います。
2進数 |
8進数 |
10進数 |
16進数 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
10 |
2 |
2 |
2 |
11 |
3 |
3 |
3 |
100 |
4 |
4 |
4 |
101 |
5 |
5 |
5 |
110 |
6 |
6 |
6 |
111 |
7 |
7 |
7 |
1000 |
10 |
8 |
8 |
1001 |
11 |
9 |
9 |
1010 |
12 |
10 |
A |
1011 |
13 |
11 |
B |
1100 |
14 |
12 |
C |
1101 |
15 |
13 |
D |
1110 |
16 |
14 |
E |
1111 |
17 |
15 |
F |
10000 |
20 |
16 |
10 |
情報数学は正直難しく感じますね...。
プログラマに必要な数学(結城浩)
- 基本的な数学
四則演算(+ − × ÷)、累乗(2^3=2×2×2=8)、位取り記数法(2進法、10進法、16進法)などがある。
- 条件分岐と論理
多くのプログラミング言語では、If文を使って処理の流れを生業します。数学の一分野「論理」を使ってプラグラムをコントロールする。
- 繰り返しと数学的帰納法
大量の情報を処理するために、プログラムを使って「繰り返し」を行う。
- 場合分けと数え上げの法則
たくさんの条件やデータを「場合分け」するとき、プログラマは見落としが絶対に起きないように気をつけなければならない。
- その他
再帰、指数、大数、剰余などがある。
コンピュータが数値を表現する際には、数の分類に合わせたデータ型を使う必要があります。
<整数>小数でも分数でもない-1、0、1のような数のこと
<自然数>0とマイナスを含まない整数のこと。整数のうち自然数と0は「符号なし整数型」で、これに負の整数を加えたものが「符号あり整数型」となる(integer、Long)
<小数と分数>表記方法が異なるだけで同じ数
<分数>整数÷整数で表現できる数
<有限小数>分数を少数に直したときに、割り切れる小数のこと
<循環少数>分数を少数に直したときに、割り切れずにある数列で循環する少数のこと
<有理数>少数(分数)で表される数のこと。(整数、有限小数、無限小数)
<無理数>少数(分数)で表されない数のこと(π、√2)
<実数>有理数と無理数を含む数のこと。「浮動小数点型」「固定小数点型」「十進型(通貨型)」
※実数の上位概念として、虚数を含む複素数、四元数などが存在する
ビットとバイト
ハードディスクやメモリなどに保存するデータ量の単位。
ビット(bit)
2進数の1桁分のデータ量で、1ビットは2進数の1桁で0と1の2通りの数が扱える。
2ビットは2桁分(2×2=4通りの数)、3ビットは3桁分(2×2×2=8通りの数)、4ビットは4桁分(2の2乗=16通り分の数)のデータ量となる。
バイト(byte)
ビットより大きい単位で、8ビット分のデータを表す。1バイト(8ビット)では、2の8乗で256通りのデータを扱える。
Javaのbyteというデータ型は、このバイトの範囲のデータを扱える。
また、shortは2バイト(=16ビット)、intは4バイト(=32ビット)、longは8バイト(=64ビット)の範囲のデータを扱える。
プログラムで扱う数値の大きさとデータ型の関係を考慮する。
学習テキスト