こんばんは、
試しに1024ビットの1024を2進数に変換したく計算しました。
1024÷2・・・0
512÷2・・・0
256÷2・・・0
128÷2・・・0
64÷2・・・0
32÷2・・・0
16÷2・・・0
8÷2・・・0
4÷2・・・0
2÷2・・・0
2÷1・・・0.5
ここまでで0.5になってしまうのですが、どうして2進数に変換できないのでしょうか。
よろしくお願いします。
2進数に変換
Re: 2進数に変換
1024ビットの1024って何ですか?チタン合金 さんが書きました: 試しに1024ビットの1024を2進数に変換したく計算しました。
仮に、10進数の1024を2進数に変換したいのであれば、
1024 / 2 = 512 ... 0
512 / 2 = 256 ... 0
256 / 2 = 128 ... 0
128 / 2 = 64 ... 0
64 / 2 = 32 ... 0
32 / 2 = 16 ... 0
16 / 2 = 8 ... 0
8 / 2 = 4 ... 0
4 / 2 = 2 ... 0
2 / 2 = 1 ... 0
1 / 2 = 0 ... 1
ここで商が0になったので、ここまでのあまりを下から順に並べて
10000000000
が答えです。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 2進数に変換
1 ÷ 2チタン合金 さんが書きました: 最後0で割る数字が残らないですが、
なぜ1になるのでしょうか?
の
商が
0
で
あまりが
1
になるところがわからないのでしょうか。
1は2よりも小さいので、1という商は立たないですね。よって、商は0。
残った分の1がそのままあまりになります。
一般に、aをpで割った商がqであまりがrである(つまり、a / p = q ... rと書ける)とき、
a = pq + r
a = 1, p = 2のとき、q = 0, r = 1
1 = 2 × 0 + 1
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。