我想创建一个基本程序,使我能够将二进制数转换为十进制数,但几乎无处不在互联网上,我只是找不到一个有效的解决方案!我似乎无法遵循解决方案,到目前为止我已经开发了一些代码,但不确定它是否正确,有什么帮助吗?感谢
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();
答案 0 :(得分:1)
Convert.ToInt32方法有一个重载,它接受"来自"基本参数。 http://msdn.microsoft.com/en-us/library/1k20k614.aspx
iDecimalNum = Convert.ToInt32(binaryNumber, 2);
很明显,你看起来还不够
How to convert binary to decimal
答案 1 :(得分:0)
首先,为什么要为iBinaryNum使用int?
其次,我会把它放在一个字符串中,然后冲洗并重复以下内容:
所以,对于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),应用算法。
如果你真的想学习,请遵循面包屑的踪迹......
如果你只是想让别人写你的代码......那么......也许其他人会...
答案 2 :(得分:0)
你不应该说你看过每一个都找不到答案。我知道你对此很陌生,但更好的一句话是:“我无法理解我找到的解决方案。”
无论如何,你可以使用ToInt32的重载来转换指定的基数。
iDecimalNum = Convert.ToInt32(iBinaryNum, 2);
尽管如此,IDecimalNum需要是一个字符串。编辑后的代码如下所示:
string iBinaryNum = Console.ReadLine();
int iDecimalNum = Convert.ToInt32(iBinaryNum, 2);
您想要转换为小数但将iDecimalNum存储为整数也有点奇怪。
请参阅MSDN关于重载的文档:http://msdn.microsoft.com/en-us/library/1k20k614(v=vs.110).aspx