• ベストアンサー

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

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

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 parseInt(a,b); を使用します。 aにもととなる値 bにその値の基数 例えば2進数の値を10進数にする場合は ans = parseInt ( moto, 2 ); motoに0101が入ると10進数の5が返ってきます。

その他の回答 (1)

回答No.2

parseIntを使えばできます。 parseInt(string,radix); //radixは基数(2~36の整数) dec1=parseInt("27",8); //dec1=23, parseInt("027")でも同じ dec2=parseInt("4A",16); //dec2=74, parseInt("0X4A")でも同じ dec3=parseInt("1101",2); //dec3=13 dec4=parseInt("xyz",36); //dec4=44027

関連するQ&A

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

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

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

    こんにちは。10進数からn進数に変換するには10進数の数をnで割ったあまりを並べればよいと習ったのですが…。やり方は理解できるのできるのですが、なんでそうすうるとn進数へ変換できるのですか???高校数学の範囲で証明できるのならば教えてください。

  • n進数変換

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

  • 16進n桁の文字列変換の方法は?

    手持ちの本『JavaScriptポケットリファレンス』によると『toString(16)』で 整数値を16進数の文字列へ変換できるようです。 そこで質問します。 整数値『123』を16進数の4桁『007B』に変換する方法を教えて下さい。 『Number(123).toString(16).toUpperCase()』とすると『7B』ですので、 先頭に『00』を追加したいのです。どうすれば良いでしょうか? あと、10進n桁の方法も同じように出来ると思いますが、その方法も一緒に教えて下さい。 以上。お願いします。→JavaScript 歴1.5ヵ月です。

  • n進数→m進数

    n進数→m進数 (111010101.1111)2を16進数に変換 (1010101)2を5進数に変換 の解き方を教えて下さい。

  • C++で10進数をn進数に…

    10進数をn進数に変換する関数のプログラムを教えてください。 できれば、最初の数は2桁以上で変換した後のn進数が16進数とか おっきいやつでもOKなのがいいです。 お願いします

  • n進数を10進数に変換するプログラムがわかりません

    整数n(2<=n<=16)とn進数の数字列digitsを与えると10進数に変換して表示するプログラム 関数void base2dec(int n, string digits, int &dec)を使用する 実行例 110101(2)=53 123(8)=83 7ACE(16)=31438 以下はとりあえずつくったみたプログラムです #include<iostream> #include<string> using namespace std; void base2dec(int n, string digits, int &dec) { int i,x=0; for(i=0; i=digits.size()-1; i++) { if(n<10) { x=digits[i]-'0'; } else { x=digits[i]-'A'+10; } dec=(x*n); if(cin >> digits[i++]) { if(n<10) { dec=dec+(digits[i++]-'0'); } else { dec=dec+(digits[i++]-'A'+10); } } } int value = dec; } int main() { int n,value; string digits; cout << "何進数ですか-->"; cin >>n; cout << "数字列を入力してください-->"; cin >>digits;; base2dec(n,digits,value); cout << digits << "(" << n << ")=" << value << endl; return 0; } void関数の中、特に計算方法が間違っていると思うのですが、なにがいけないかわかりません。ちなみにn進数から10進数に直す方法は理解しています。

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

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

  • 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桁目になるのか、ということを 数式以外で説明できないものでしょうか? そういうものなんだ、というふうに考えるしかないのでしょうか?

  • rgb値を16進数に変換

    r,g,b値がそれぞれ10進数で与えられ、それらをそれぞれ16進数に変換します。このとき、例えばrの値が10進数でnだとすると、 (16進数の2桁目)=n/16 (16進数の1桁目)=n mod 16 になると思いました。 しかし、手元にある、人からもらったサンプルでは、 (16進数の2桁目)=(n mod 256)/16 となっていました。1桁目は私の考えと同じでした。 なぜn mod 256が入っているのか分かる方、教えてください。