-4

2 進数を 10 進数に変換できるようにする基本的なプログラムを作成したいと思っていますが、インターネット上のほぼすべての場所を調べたところ、うまくいく解決策が見つかりません! 解決策をたどることができないようです。これまでのところ、コードを少し開発しましたが、それが正しいかどうかわかりません。何か助けはありますか? ありがとう

           int iBinaryNum; //To store binary number
           string sDecimalNum; //To store decimal numbers

           Console.WriteLine("Enter the binary number you want to convert to decimal");
           iBinaryNum = Convert.ToInt32(Console.ReadLine());

           Console.WriteLine("The Binary number you have entered is " + iBinaryNum);


           sDecimalNum = Convert.ToString(iBinaryNum, 2);

           Console.WriteLine("This converted into decimal is " + sDecimalNum);

           //Prevent program from closing
           Console.WriteLine("Press any key to close");
           Console.ReadKey();
4

3 に答える 3

1

Convert.ToInt32 メソッドには、"from" ベース パラメーターを受け入れるオーバーロードがあります。 http://msdn.microsoft.com/en-us/library/1k20k614.aspx

iDecimalNum = Convert.ToInt32(binaryNumber, 2);

どうやっ て2進数を10進数に変換するの?

于 2013-11-14T01:13:33.070 に答える
0

まず、なぜ iBinaryNum に int を使用するのですか?

第二に、私はそれをひもに入れ、すすぎ、次のことを繰り返します。

  • 1から始まるカウンターを持っている
  • 最後の桁を取り、0 の場合は何もせず、1 の場合はカウンターで乗算し、一時的な結果に加算し、カウンターに 2 を乗算します。
  • 最後から 2 番目で繰り返す ...

したがって、 1010 の場合、 0*1 + 1*2 +0*4 +1*8 = 10 になります。

ここに別のページがあります:http://www.binaryhexconverter.com/binary-to-decimal-converter

編集:
まず第一に、あなたが求めているのは、私があなたのコードを書くことです。

本当に必要なのは、ループの使用方法を理解することだけです (ここを参照してください: http://csharp-station.com/Tutorial/CSharp/Lesson04 )

文字列の長さを把握する方法:string_name.Length

次に、アルゴリズムを適用して、入力を後ろから前に (長さから 0 まで) 実行します。

本当に学びたいのなら、パンくずリストに従って
ください...誰かに自分のコードを書いてもらいたいだけなら...まあ...おそらく他の誰かが...

于 2013-11-14T01:16:33.930 に答える
0

すべてを調べても答えが見つからなかったと言うべきではありません。あなたがこれに慣れていないことは理解していますが、より適切な言い回しは次のようになります。

とにかく、ToInt32 のオーバーロードを使用して、指定した基数に変換できます。

iDecimalNum = Convert.ToInt32(iBinaryNum, 2);

ただし、これを行うには、IDecimalNum を文字列にする必要があります。編集されたコードは次のようになります。

string iBinaryNum = Console.ReadLine();
int iDecimalNum   = Convert.ToInt32(iBinaryNum, 2);

また、10 進数に変換したいのに iDecimalNum を整数として格納するのも少し奇妙です。

オーバーロードに関する MSDN のドキュメントを参照してください: http://msdn.microsoft.com/en-us/library/1k20k614(v=vs.110).aspx

于 2013-11-14T01:36:13.637 に答える