プロが教える店舗&オフィスのセキュリティ対策術

どうして、10進法ならn進法にする時そのnで割る割り算を繰り返し、余りを逆順に並べると答えが出てくるんですか?
分かりにくい説明ですみません。

質問者からの補足コメント

  • 誤字がありました。
    ×10進法ならn進法にする時
    ○10進法からn進法にする時

      補足日時:2021/02/07 18:05
  • 皆さん、ありがとうございました。
    数弱の私でもなんとなく理解できました。

      補足日時:2021/02/07 22:35

A 回答 (4件)

n 進数の「abcd.ef」(0≦a~f≦n-1)とは



 a × n^3 + b × n^2 + c × n^1 + d × n^0 + e × n^(-1) + f × n^(-2)

ということです。

簡単のために整数部分だけをとれば

 a × n^3 + b × n^2 + c × n^1 + d × n^0   ①

ですから

(1) ①を n で割る:商 = a × n^2 + b × n^1 + c × n^0 ②、あまり d

(2) 商②をさらに n で割る:商 = a × n^1 + b × n^0 ③、あまり c

(3) 商③をさらに n で割る:商 = a × n^0 ④、あまり b

(4) 商④をさらに n で割る:割り切れず あまり a

となることが分かりますよね?
    • good
    • 0

追加で説明します。



N = A[n]*2^n + A[n-1]*2^(n-1) + A[n-2]*2^(n-2) + ... A[2]*2^2 + A[1]*2^1 + A[0]*2^0
(二進表現はA[n]A[n-1]A[n-2]... A[1]A[0])

この式の両辺を2でわると、A[1]より上の項はすべて2の倍数(偶数)なので、商は
A[n]*2^(n-1) + A[n-1]*2^(n-2) + A[n-2]*2^(n-3) + ... A[2]*2^1 + A[1]、
余りは
A[0]
になります。

さらに上の商を2で割ると、その商は、
A[n]*2^(n-2) + A[n-1]*2^(n-3) + A[n-2]*2^(n-4) + ... A[2]
余りは
A[1]

さらに上の商を2で割ると、その商は、
A[n]*2^(n-3) + A[n-1]*2^(n-4) + A[n-2]*2^(n-5) + ... A[3]
余りは
A[2]

という具合に10進数Nをどんどん2で割っていって余りA[0], A[1],...を逆に並べると、10進数Nの二進数A[n]A[n-1]A[n-2]....A[0]と等しくなるのはわかると思います。

ここでは2進数でやったけど、それをn進数にしても同じことで、割る数を2ではなくnにするだけです。

簡単な例、たとえば
25 = 1*2^4 + 1*2^3 + 0*2^2 + 0*2^1 + 1
で両辺を2で割っていったらどうなるかやってみると理解できるかと思います。
    • good
    • 0

その通り



例えば10進法でABCDの4桁の数字だとすると、
その数=(((A×10)+B)×10+C)×10)+D

これを10で割った余りがD、商を10で割った余りがC、その商を・・・・
ってなるでしょう?
    • good
    • 1

十進数Nの2進表現をA[n]A[n-1]A[n-2]... A[1]A[0]とすると(A[x]は0か1)、その関係は、


N = A[n]*2^n + A[n-1]*2^(n-1) + A[n-2]*2^(n-2) + ... A[2]*2^2 + A[1]*2^1 + A[0]*2^0

よーく考えてみればわかるけど、A[n], A[n-1], A[n-2]....はNを2でどんどん割っていった過程ででてくる余りになります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!