• ベストアンサー

n進数→10進数  10進数→n進数 の変換ってできる?

10進数を2進数にするやりかたはわかるんですが、 2進数→10はイマイチわからないです。 その他10進数→12進数とか、その逆とか、なにか公式とかないんでしょうか?

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

  • ベストアンサー
  • ken1tar0u
  • ベストアンサー率24% (21/86)
回答No.2

10進数、2進数に限らず、n-進数(n≧2の自然数)の意味(定義)をしっかり理解すれば、どんな変換でもできるようになるでしょう。 ただし単純な公式ということではなく、幾つかのステップを踏む計算法が作れる、ということになります。 ここから、「3の5乗」を「3^5」のように書くことにして…… 例えば2進数から8進数の例を考えて見ましょう。 100101(2)を8進数で表すとどうなるか。 6桁の2進数ですから 100101(2) = 1×2^5 + 0×2^4 + 0×2^3 + 1×2^2 + 0×2^1 + 1×2^0 (左の数字が2進数の各桁の数、真ん中が「2進数」の2、右端が桁を表す数です。この真ん中の数を8にして、全体の量が変わらなければいいわけ。) =32+4+1=37(←この行は10進数) = ?×8^n(何桁か分からないのでnとしてみました) + …… + ?×8^0(?はすべて0~7の整数) さて、8^2=64 は問題の数37より大きくなってしまうので、n=1です。 = ?×8^1 + ?×8^0 = 4×8^1(←ここだけだと32、問題の37まで5足りないので、次の行……) + 5×8^0 = 45(8) となります。

その他の回答 (4)

  • HANANOKEIJ
  • ベストアンサー率32% (578/1805)
回答No.5

こんばんは、suttenさん。高校数学の参考書にでていました。科学新興新社モノグラフ「整数」宮原繁著p.38~記数法。10進数を2進数にするやりかたはわかるんでしたら、10進数のところを空白にして、素因数分解のときの割り算を2進数のときは、2で割り進む。あまりを書いて逆に上のほうにかけざんでのぼっていく。そうすると、2進法でも3進法でも10進法に直せると思います。数学の演算は、大抵ペアになっています。足し算と引き算、掛け算と割り算、10進数→2進法と2進法→10進法。2乗と平方根。

  • shiro-joe
  • ベストアンサー率22% (15/66)
回答No.4

基本情報技術者の受験勉強用のサイトですが、いかがでしょう。 IT系の資格取得に欠かせない定番問題ですから。 基本情報技術者試験講座(1) http://jibun.atmarkit.co.jp/lskill01/rensai/fe01/fe01.html

  • debut
  • ベストアンサー率56% (913/1604)
回答No.3

例えば10進数の6は2進数では110ですが、これは10進数の1が0 個、2(2^1)が1個、4(2^2)が1個あることを示しています。  6=2^2×1+2^1×1+2^0×0 と書けます。 また、10進数の285なら、1が5個、10が8個、100が2個で、  285=10^2×2+10^1×8+10^0×5 と書けます。 つまり、2進数も10進数も桁の基準の数が違うだけで、その繰り上がり 方は全く同じです。  10進数→最初の桁が10^0(つまり1)、次が10^1(つまり10)、次が10^2        (つまり100)、・・・・   2進数→最初の桁が2^0(つまり1)、次が2^1(つまり2)、次が2^2        (つまり4)、・・・・ とすれば、2進数の110101とかあったとき、これを10進数にするに は、 2^5×1+2^4×1+2^3×0+2^2×1+2^1×1+2^0×0 を計算すればよいことになります。 n進数をなおすなら、2をnにして、やり方は同じです。

回答No.1

>2進数→10 例えば2進数で4桁で、abcdなら、a*2^3+b*2^2+c*2^1+d*2^0です。 1101=1*2^3+1*2^2+0*2^1+1*2^0で、10進数で13になります。 つまりx進数でn桁で、abc・・・mnなら、10進数に直すと、a*x^(n-1)+b*x^(n-2)+c*x^(n-3)+ ・・・+m*x^1+n*x^0

関連するQ&A

  • n進数から10進数に変換するには

    toString(n)を使えば10進数をn進数に変換できますよね。それとは逆に、n進数を10進数に変換するにはどうすればよいのでしょうか。 宜しくお願いします。

  • 進数 変換

    8進数を10進数にする公式 16進数を10進数にする公式を教えてください。

  • 2進数と10進数と16進数の変換について

    私の学校の情報の授業の中で、2進数を16進数にしたり、また、逆をやったり、10進数を交えた、変換のテストが毎回の授業であるのですが、私は納得がいかないのです。 8桁もある2進数の足し算をやらせたり、2進数の引き算、割り算・・・(その他、文章問題など) でも、文句ばかり言っていても始まらないのですが・・・     (履修不足問題で毎回、テストをやることになってしまったらしい) そこで質問です。 私の知っているやり方が、2進数なら、10進数を2でひたすら割っていき、余りを後ろから読む。16進数も同様です。 これが厄介なもので、2進数の4桁までならどうにか10進数に変換できるのですが、8桁ともなると、問題を見た瞬間に冷や汗です。(苦笑) これしか知りません。(16→10 も知りません) しかし、他の効率的なやり方があるという話を聞いたことがあります。 毎回、10進数に直して計算していると、確実に時間がないのです。 他の効率的なやり方をご存知の方、また、そういうサイトをご存知の方いらっしゃいましたら、返答、よろしくお願いします。

  • n進数変換

    n進数への変換方法を教えて下さい。10進数(264)から2進数、16進数。10進数小数点(23.624)から2進数、16進数。 色々調べましたがよく理解できませんでした。 ノートに書いて変換してみたいです。計算方法を教えて下さい。 10進数から2、16進数に変換しますが、その反対2進数から10、16進数。16進数から2、10進数の変換の仕方はどうですか? 宜しくお願い致します。

  • n進数の値を10進数の値に変換するには?

    こんにちは。 C言語において、n進数の値を10進数の値に変換する方法を考えています。 例えば、2進数の101を、10進数で表すと5になります。 これを関数化し、 n_to_m(int x, unsigned n); といったプロトタイプで、 渡された整数x(n進数)を、10進数での値に変換する関数を作りたいのです。 逆に、10進数の値を、n進数の値に変換する関数も一緒に作りたいと考えています。 何かいい方法を思いついた方がいらっしゃれば、是非アドバイスを頂きたいと思います。 では、よろしくお願い致します。

  • 10進数からn進数への変換

    27という10進数の数字を2進数へと変換する時は 2で割っていて余りを並べることで求めることが出来ますが やり方はわかるのですが、そのようになる理由が理解できません。 27=【(1×2^3)+(1×2^2)+(0×2^1)+(1×2^0)】×2+1(余り) 13=【(1×2^2)+(1×2^1)+(0×2^0)】×2+1(余り) ・ ・ ・ とこのように式での説明をみると、式の上ではそうなるのはわかるのですが・・・・ なぜ27を2で割ったものの余りが2進数の1桁目になるのか、ということを 数式以外で説明できないものでしょうか? そういうものなんだ、というふうに考えるしかないのでしょうか?

  • (n n-1 n-2… 2 1)の転倒数

    この前質問して回答をもらい、逆転数を数えて、足すというやり方を教えてもらいました。しかし、その値を全部足したら、n(n-1)/2になる理由がよく分かりません。何か法則があるのですか?

  • n^2+3n+8とn+2の最大公約数

    高校数学の問題です 「nは自然数とする。n^2+3n+8とn+2の最大公約数として考えられる数を全てもとめよ」 この問題の解き方をどなたか教えてください。

  • 2進数→10進数への変換 また その逆

    2進数→10進数への変換 また その逆 を作成したのですが、どのようにすれば良いのでしょうか? 宜しくお願いいたします

  • n角形の対角線の数

    n(n-3)/2という公式?はわかりますが、何故「必ず」÷2となるのかを説明してください。 要するにWっているので数えないようにする対角線の数が必ず1/2となる理由が理解できないのです。 よろしくお願い致します。