
やりなおしのSPI問題に頭を痛めています。10進法→n進法、n進法→10進法、というやり方はそれぞれ理解できますが、以下のような応用になると、うまくできません。どなたか、宜しくお願いします!
例題1
3進法で3桁の数は何個あるか。
(書き出していくとわかるのですが、それ以外に何か公式のようなもので求める方法がありますでしょうか。他の進数になるとたちまち困ります。)
例題2
3進法の112201は5進法でいくらか。
(いったん10進法に直さずに、n進法→m進法への変換をダイレクトに行なえ、効率的でわかりやすい方法はありますでしょうか。)
No.3ベストアンサー
- 回答日時:
ヒント
例題1
一応正整数(固定小数点)と仮定します。
3進法の最大数は(222)3=2*3^2+2*3^1+2*3^0 =18+6+1=25
最小は(000)3=0ですから何個か分かりますね?
例題2→3進法→10進法→5進法
(112201)3=4*3^4+8*3^2+1=4*9^2+8*9+1=397
=79*5+2
=(15*5+4)*5+2
=((3*5+0)*5+4)*5+2
=>5進法
>n進法→m進法への変換をダイレクトに行なえ、効率的でわかりやすい方法はありますでしょうか。
一般的には良い方法ありません。
ただし、
2進法-4進法,2進法-8進法,2進法-16進法
3進法-9進法
4進法-16進法
5進法-25進法
のようにn進法と(n^k)進法の間ではダイレクトに変換できます。
ですから、
計算機のソフトや情報処理を扱う技術者の間では
2進法-8進法,2進法-16進法
が良く使われてきたし、
また2進法と10進法の変換を見かけ上で行う2進化10進法やV4のIPアドレス(32ビットの2進数)をドット区切り10進数の4組で表すことが行われたりしているわけです。
これらは一般的にn進法の変換が簡単にいかないために変換しやすい変換だけあつかったり、見かけ上2進数を10進数との関連付ける便法が採用されているわけです。
決して質問者さんだけが任意のn進法を別のm進法に変換するのに困っているわけではないですね。
No.6
- 回答日時:
#4です。
>割り算の最後の<+1>のところが<+2>の単純ミスのようです。
確かに明らかな単純ミスね。自らややこしいと書いたダイレクト変換での計算ミスを出してしまったようでお恥ずかしい限りです。
oyaoya65さん、ご指摘ありがとうございました。
No.5
- 回答日時:
#3です。
A#2,A#3では
(112201)3 =(397)10
となっています。
私もA#4さんのダイレクト割り算もやっていましたが計算ミスする恐れがあったので回答から省きました。
ダイレクト割り算も出来るのはA#4さん回答の通りですが
112201
の割り算の最後の<+1>のところが<+2>の単純ミスのようです。
<+1>だと10進数に直すと396になります。
(確認してみてください。)
そこだけ直せばダイレクトな割り算でもいけますね。
>=2221*12+1
>=(120*12+11)*12+1
>=((10*12+0)*12+11)*12+1
最後の式はA#3の
>=((3*5+0)*5+4)*5+2
の式に対応しています。
No.4
- 回答日時:
例題2
ややこしいので不要と思われるけど、ダイレクト変換方法。
十進法以外での計算(割り算の筆算)で混乱しないなら、
3進法のまま5(3進法では12)で割りつづけ、
余りを順に出せば5進法の各桁が出てきます。
112201
=2221*12+1
=(120*12+11)*12+1
=((10*12+0)*12+11)*12+1
以下は答えになるので略
上の説明で混乱するor難しいようだったら、素直に十進を経由することをお薦めします。
何進数での変換も同じ要領でできることは確認していますが、10進数でない計算を苦もなくできる人向けかも。
No.2
- 回答日時:
たびたびすみません。
NO.1です。
例題2ですが、やはり、一度10進数に直してやるのが一番分かりやすくて間違いが少ない方法だと思います。
112201(3)
=(3^5x1)+(3^4x1)+(3^3x2)+(3^2x2)+(3^1x0)+(3^0x1)
=397(10)
この397を5進数に直してあげればよいかと思います。
No.1
- 回答日時:
こんにちは
例題1のほうだけですが・・・・・
3進法ということは、0・1・2の3つの数字のみをつかいますよね。
3桁ということは、この3つの数字がそれぞれ3回づつ使われる、ということなので、3桁の数は【 3×3×3 】個。
と、言いたいところですが、しかし、3桁目(一番大きい桁)に「0」を使うことはありませんので、
結局は【 2×3×3 】個、3桁の数がある、ということになります。
これでいいんじゃないかな、と思いますが・・・・。
例題1だけの回答ですいません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
10進数の50を2進数で表すといく...
-
5
フーリエ変換後の負の周波数成...
-
6
HEX2BIN関数の使い方。
-
7
Excel 16進数
-
8
マイナスの進数変換
-
9
偏微分の記号をタイプするため...
-
10
対数変換する意味?
-
11
ACアダプターの消費電力の件
-
12
8進数から2進数に変換の
-
13
16進小数0.Cを10進数小数に変換...
-
14
dBm/HzからdBm/MHzへの単位変換
-
15
単位の変換(立方メートルをc...
-
16
dBm→dBμV/mの換算について
-
17
行列 1次変換
-
18
ミリ秒→緯度、経度変換
-
19
フーリエ変換・逆変換の虚数成...
-
20
.7進数2654を4進数に変換した...
おすすめ情報
公式facebook
公式twitter