OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

n進法の変換!

  • すぐに回答を!
  • 質問No.132320
  • 閲覧数542
  • ありがとう数5
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 67% (19/28)

数学が得意で、Excelの達人の方!(じゃなくてもいいんですが……)
たとえば、Windowsに載っている、電卓を関数モードで使うと、16進法10進法8進法2進法の変換ができるんですが、ほかには変換できません。
と、言うことで、数字(12桁以上必要)を入れると、ほかの進法に変わるシートを作りたいんですが、ぜんぜんうまくいきません。
誰か、うまいのを教えてください。体裁は気にしません。
 ※変換前のn進法のnを、たとえばA2に入力
 ※変換後のn'進法のn'を、たとえばA3に入力
 ※変換する、n進数を入力
と、こんなシートを作りたいんです。
よろしくお願いいたします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.4
レベル14

ベストアンサー率 57% (1014/1775)

マクロ(visual basic)を使えば何とでもなります。でもマクロなしでやってみたいですね。

とりあえず符号は付けないものとします。n進法から10進法への変換、10進法からm進法への変換、の二つを作れば便利ですね。

n進法から10進法への変換

cell $A$1 にnの数値を入力し、(n≦18)
cell $B$1 にn進法で表した値(文字列)を入力することにします。取りあえず12桁以内ということにしましょう。$B$1 は文字列である事が確実であるように、先頭に ' (quote)を付けて入力します。cellの中で左寄せに表示されることを確認してね。

さて$C$1 には次の式を入力。
=SUM(IF(LEN(B1)-{11,10,9,8,7,6,5,4,3,2,1,0}<1,0,(SEARCH(MID(B1,LEN(B1)-{11,10,9,8,7,6,5,4,3,2,1,0},1),"0123456789abcdefghi")-1))*$A$1^{11,10,9,8,7,6,5,4,3,2,1,0})
そして、数式表示バーの中にカーソルを置いた状態(数式のどこかをクリック)で、Control キーを押しながらEnter (Macならリンゴマークのキーを押しながらEnter)します。この操作は複数のセルに答を表示させるような、配列を返す関数に使うもので、数式バーには(入力したおぼえのない){}が自動的に付加されて
{=SUM(IF(LEN(B1)-{11,10,9,8,7,6,5,4,3,2,1,0}<1,0,(SEARCH(MID(B1,LEN(B1)-{11,10,9,8,7,6,5,4,3,2,1,0},1),"0123456789abcdefghi")-1))*$A$1^{11,10,9,8,7,6,5,4,3,2,1,0})}
と表示されるはずです。

10進法からm進法への変換。
cell $A$2 にmの数値を入力し、cell $C$1に表示されている10進数値をm進法に変換した文字列をcell $B$2に表示させます。
残念ながら、文字列をくっつける関数concatenateが融通が利かないもんですから、以下のようにする必要があります。
まず、cell $D$2に
=(MID("0123456789ABCDEFGHI",MOD(INT(C1/$A$2^{15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0}),$A$2)+1,1))
を入力して、取りあえずenterを押します。
それから、cell $D$2から $S$2までを選択します(このとき、cell $D$2を最初に選ぶことが重要です。)すると、数式バーに今入れた式が表示されてますね。この式のなかのどこでも良いからカーソルを置き、そしてControl キーを押しながらEnter (Macならリンゴマークのキーを押しながらEnter)します。すると、$D$2から$S$2までのセルに1文字ずつ表示されます。これが各桁の数字を表している。
最後にこれをひとまとめにするために、cell $C$2に
=CONCATENATE(D2,E2,F2,G2,H2,I2,J2,K2,L2,M2,N2,O2,P2,Q2,R2,S2)
を入力します。
これでcell $C$2にm進法で表示した値が出たわけです。え?先頭にゼロがいっぱい付いているのが気に入らない?
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル14

ベストアンサー率 33% (1403/4213)

n進数はご質問にあるように「16進法10進法8進法2進法」とすると、 実は関数が用意されています。 n : n→10 10→n 16進数:HEX2DEC、DEC2HEX 8進法 :OCT2DEC、DEC2OCT 2進法 :BIN2DEC、DEC2BIN ただし、通常のセットアップのままでは使用できません。 メニュー[ツール]-[アドイン]で「分析ツール」にチェックを ...続きを読む
n進数はご質問にあるように「16進法10進法8進法2進法」とすると、
実は関数が用意されています。

n : n→10 10→n
16進数:HEX2DEC、DEC2HEX
8進法 :OCT2DEC、DEC2OCT
2進法 :BIN2DEC、DEC2BIN

ただし、通常のセットアップのままでは使用できません。

メニュー[ツール]-[アドイン]で「分析ツール」にチェックをいれてください。
お礼コメント
kannna-A

お礼率 67% (19/28)

回答ありがとうございます。
なるほど、そんな関数もあったんですか、DECというのは10進のことですね?
早速セットアップをしてみよう。
投稿日時 - 2001-09-09 12:46:48

  • 回答No.2

ご質問の意味が今ひとつ分かり難いのですが.... 要するに、3進数とか5進数を作りたいということでしょうか? 何に使われるんでしょう。私には16進数・・・以外が必要になる場面は思いつかないのですが...... ですが、考え方を書いておきます。 例えば 255を2進数にする場合。 次々に2で割っていけばいいわけです。 2  255  1    255/2=127...1 2  12 ...続きを読む
ご質問の意味が今ひとつ分かり難いのですが....
要するに、3進数とか5進数を作りたいということでしょうか?
何に使われるんでしょう。私には16進数・・・以外が必要になる場面は思いつかないのですが......

ですが、考え方を書いておきます。

例えば 255を2進数にする場合。
次々に2で割っていけばいいわけです。

2  255  1    255/2=127...1
2  127  1    127/2=63...1
2  063  1    63/2=31...1
2  031  1      ・
2  015  1      ・
2  007  1      ・
2  003  1      ・
2  001

こうやって 出てきた1を下から順に、左から書いてやれば良いわけです。

一番下の001(本当は1です。桁揃えのために敢えて0を入れてあります。)から、上に11111111bと書けば、255を2進数にした答えです。
的が外れていたらごめんなさい。

因みにbは前の数値は2進数ですよ、ということです。
8進数はhだったと思います。(Hexから)
お礼コメント
kannna-A

お礼率 67% (19/28)

回答ありがとうございます。
つまり、「あまり」をだせばいいんですね!あまりを下から順に書いていけば、答えがわかるのか。
ぜんぜん的外れではないです!
投稿日時 - 2001-09-09 12:53:18
  • 回答No.3
レベル13

ベストアンサー率 34% (574/1662)

n1 進法 の数字を n2 進法の数字に変換する。 但し,変換する数字の桁数は12桁以上必要 (通常の整数では表現できないほど大きい) という意味ですね。 この場合 n はいくつまで使えればいいのですか。 また、例えば n = 37 とした場合、36に相当する数字は どうやって表現しますか? ...続きを読む
n1 進法 の数字を n2 進法の数字に変換する。
但し,変換する数字の桁数は12桁以上必要
(通常の整数では表現できないほど大きい)
という意味ですね。

この場合 n はいくつまで使えればいいのですか。
また、例えば n = 37 とした場合、36に相当する数字は
どうやって表現しますか?
補足コメント
kannna-A

お礼率 67% (19/28)

回答ありがとうございます。
そうだった。0から、zまで行ったら……だめですね。(汗)
すいません、とりあえずは18進法以上は必要ないんです。説明不足でした。
投稿日時 - 2001-09-09 12:59:20
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ