アルゴ式(コンピュータ上の数の表現)
![FumiyaNakamura](https://res.cloudinary.com/zenn/image/fetch/s--nmxTMEOm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/e7621e4c67.jpeg)
位取り記数法
0〜9までの小さい数を組み合わせることで大きい数を表現する方法。
例えば1000とか。
数字に対応する文字を用意するには限りがあるので。
![FumiyaNakamura](https://res.cloudinary.com/zenn/image/fetch/s--nmxTMEOm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/e7621e4c67.jpeg)
N進法/N進数
N進法はN種類の数を使って表現する方法。N進数はN進法を使った数。
例えば0〜9までの10種類を使って数を表すのは10進数。
0,1,2なら3進数。
![FumiyaNakamura](https://res.cloudinary.com/zenn/image/fetch/s--nmxTMEOm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/e7621e4c67.jpeg)
N進法ではN-1の次の数が10になる。
例えば2進法では、N-1つまり1の次の数は10になる。
7進法ではN-1つまり6の次の数は10。26の次の数は30になる
![FumiyaNakamura](https://res.cloudinary.com/zenn/image/fetch/s--nmxTMEOm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/e7621e4c67.jpeg)
10進法をN進法に変換する方法
商が0になるまでNで割り続けて、余りを下の位から並べることで元の数をN進法に変換できる
![FumiyaNakamura](https://res.cloudinary.com/zenn/image/fetch/s--nmxTMEOm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/e7621e4c67.jpeg)
16進法
0〜9までの10種類と、A〜Fの6種類の計16種類を使って数を表す方法。
10進法 | 16進法 |
---|---|
0 | 0 |
9 | 9 |
10 | A |
15 | F |
16 | 10 |
26 | 1A |
![FumiyaNakamura](https://res.cloudinary.com/zenn/image/fetch/s--nmxTMEOm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/e7621e4c67.jpeg)
N進法で小数を扱う
10進法では整数でない数を表現することができる。
1.234という小数は、1が1個、0.1が2個、0.01が3個、0.001が4個集まった数を表す。
N進法では小数点以下では0.1, 0.01, 0.001, ....の代わりに1/N, 1/N^2,1/N^3で表現する
![FumiyaNakamura](https://res.cloudinary.com/zenn/image/fetch/s--nmxTMEOm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/e7621e4c67.jpeg)
10進法表記された小数をN進法に変換する
整数部分は今まで通りの取り方で良い。
小数部分に関しては、1/N, 1/N^2,1/N^3と大きい順に取れるだけとる。
例えば0.625を2進法表記にしてみる。
まずは0.5で割るので0.625から0.5が1つ取れて、0.125余る。つまり、0.625 = 0.5 * 1 + 0.125
次に0.25で割るので0.125からは1つも取れない。つまり、0.625 = 0.5 * 1 + 0.125 * 0 + 0.125
次に0.125で割るので0.125から1つ取れて、0余る。つまり、0.625 = 0.5 * 1 + 0.125 * 0 + 0.125 * 1
つまり10進法で0.625と表される数を2進法表記にすると、0.101となる。