05/01/05 19:49:14 gqNRoEZ9
>>671
上の設問について
(考え方 その1)
137/64=2.140625 まぁ、この問題は 2.140625 を16進で表せ
という趣旨なのだが、取り敢えず2進数で考える。
2進数はあるビットの左隣は2倍,右隣は1/2倍の重み
を持つので、こんな感じになる。
─┬─┬─┬─┬─┬─┬─┬─
・・・.8 │ 4 │ 2 │ 1 │ 1/2.│ 1/4.│ 1/8.│ 1/16・・・
─┴─┴─┴─┴─┴─┴─┴─
↑
小数点
で、これで 2.140625 になるように計算していくと、
2.140625=2+1/8+1/64=(0010.0010 0100)2
で、4ビット毎に区切って ↓ ↓ ↓
16進にする ↓ ↓ ↓
2. 2 4
となり、答えは (2.24)16 となる。
(考え方 その2)
÷64 というのは、6ビット右シフトと等価なので、
137を2進数にして、
(1000 1001.0000 0000)2
6ビット右シフト
(0000 0010.0010 0100)2
で、4ビット毎に(ry
ただ、この手法は除数が 2^n でないと使えない。
下の設問は上記が理解できれば解ける筈。
間違ってたらスマソ。