• 締切済み

2進数の変換

10進数を2進数に変換するとき、÷2して余りが2進数となるのはなぜでしょうか。

みんなの回答

  • 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進数表記となるのと同じです。

関連するQ&A