- ベストアンサー
n進数から10進数に変換するには
toString(n)を使えば10進数をn進数に変換できますよね。それとは逆に、n進数を10進数に変換するにはどうすればよいのでしょうか。 宜しくお願いします。
- KanjiTalk
- お礼率42% (80/189)
- JavaScript
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 parseInt(a,b); を使用します。 aにもととなる値 bにその値の基数 例えば2進数の値を10進数にする場合は ans = parseInt ( moto, 2 ); motoに0101が入ると10進数の5が返ってきます。
その他の回答 (1)
- skytemple
- ベストアンサー率62% (5/8)
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進数の値に変換する関数も一緒に作りたいと考えています。 何かいい方法を思いついた方がいらっしゃれば、是非アドバイスを頂きたいと思います。 では、よろしくお願い致します。
- ベストアンサー
- C・C++・C#
- 数学での10進数からn進数への変換
こんにちは。10進数からn進数に変換するには10進数の数をnで割ったあまりを並べればよいと習ったのですが…。やり方は理解できるのできるのですが、なんでそうすうるとn進数へ変換できるのですか???高校数学の範囲で証明できるのならば教えてください。
- ベストアンサー
- 数学・算数
- 16進n桁の文字列変換の方法は?
手持ちの本『JavaScriptポケットリファレンス』によると『toString(16)』で 整数値を16進数の文字列へ変換できるようです。 そこで質問します。 整数値『123』を16進数の4桁『007B』に変換する方法を教えて下さい。 『Number(123).toString(16).toUpperCase()』とすると『7B』ですので、 先頭に『00』を追加したいのです。どうすれば良いでしょうか? あと、10進n桁の方法も同じように出来ると思いますが、その方法も一緒に教えて下さい。 以上。お願いします。→JavaScript 歴1.5ヵ月です。
- ベストアンサー
- JavaScript
- C++で10進数をn進数に…
10進数をn進数に変換する関数のプログラムを教えてください。 できれば、最初の数は2桁以上で変換した後のn進数が16進数とか おっきいやつでもOKなのがいいです。 お願いします
- 締切済み
- C・C++・C#
- 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進数に直す方法は理解しています。
- ベストアンサー
- C・C++・C#
- 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が入っているのか分かる方、教えてください。
- ベストアンサー
- 数学・算数