- 締切済み
2進数の変換
10進数を2進数に変換するとき、÷2して余りが2進数となるのはなぜでしょうか。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- shintaro-2
- ベストアンサー率36% (2266/6245)
回答No.4
#2です >int(X,2)=a*2^2+b*2^1+c ですから >mod(int(x,2))=c となって 間違い 正しくは int(mod(X,2))=a*2^2+b*2^1+c ですから ↑2で割った商の部分 mod(int(mod(x,2)),2)=c となって ↑2で割った商の部分を2で割った余り
- Water_5
- ベストアンサー率17% (56/314)
回答No.3
2進数に変換したのだから、あまりは1か0ですね。 2進数に変換したのだから、余りも2進数表記なのは 当然です。
- shintaro-2
- ベストアンサー率36% (2266/6245)
回答No.2
10進→n進変換ではそうなります。 X→a*2^3+b*2^2+c*2^1+dとすると mod(X,2)=d int(X,2)=a*2^2+b*2^1+c ですから mod(int(x,2))=c となって 元の数を割った余り、 1回目の商を割った余り、 2回目の商を割った余りで1桁ずつ上の桁になるからです。 理屈では理解できますが、 私は上の桁から割る(例えば、32→16→8)方が理解しやすいです。
- trytobe
- ベストアンサー率36% (3457/9591)
回答No.1
10進数での表記が、÷10して余りを並べたものが10進数表記となるのと同じです。