2進数とn進数
まず進数って
みんながよく使ってる進数は10進数。0~9の数字。
コンピュータが取り扱えるのは2進数。0と1のみ。
0~9に加えてA~Fの英字を含めたのが16進数。カラーコードとかで使われる。
マイナーだけど0~7を扱える8進数。
単位: ビットとバイト
0と1だけの単位をビット、8ビットで1バイト。
重み
ビットが一つ上がることに、2倍、4倍、8倍…となっていく。逆は1/2倍、1/4倍、1/8倍…となっていく
→ これを重みという
基数変換
n進数→10進数
重みを出してそれを足す
例えば、2進数 1101.011 の場合、10進数の重みを出すと、8, 4, 1, 0.25, 0.125になるのでそれを足す
合計で13.375になる
10進数→n進数
重み
重みで割る、余りが0になるまでやる
例えば、10進数 13.375を2進数にする場合、2の倍数、8, 4, 2…のように重みで割る
13.375÷8=1あまり5.375、5.375÷4=1余り1.375…とやっていけばよい→2進数 1101.011になるはず
わり算とかけ算
整数部では割り算、小数部ではかけ算をしていく
整数部の計算はわり算の筆算で書いたほうがわかりやすい
例えば: 13.375を2進数にする場合、
整数部では13÷2=6あまり1、6÷2=3あまり0、3÷2=1あまり1、1÷2=0あまり1
小数部では2×0.375=0.75、2x0.75=1.5、1の場合は小数だけにするので0.5、2x0.75=1.0
整数部は計算した余りを下から順に、小数部では計算した整数部(1か0になる)の部分を上から順に並べる
つまり2進数 1101.011になるはず
筆算とか出ればもうちょっとわかりやすい文面にできると思う、複雑御免
2進数→8進数
3桁ごとに区切って8進数の形にして、それを合わせる
2進数 1101.010の場合、まずは3桁ごとに区切る→ 001 101 . 010 → 1 5 . 2 → 8進数 15.2になる
2進数→16進数
4桁ごとに区切って16進数の形にして、それを合わせる
2進数 1101.0100の場合、まずは4桁ごとに区切る→ 1101 . 0100→ 10進数 13 . 10進数 4→13はD、16進数 D.4になる