SLa*_*aks 70
该Convert.ToInt32方法具有接受基本参数的重载.
Convert.ToInt32("1001101", 2).ToString();
Run Code Online (Sandbox Code Playgroud)
看看这个非常相似的问题但是处理十六进制如何在C#中转换十六进制和十进制之间的数字?
Convert.ToInt64(value, 2)
Run Code Online (Sandbox Code Playgroud)
如果您采用手动方式而不是使用内置 C# 库,则可以使用以下方法:
static int BinaryToDec(string input)
{
char[] array = input.ToCharArray();
// Reverse since 16-8-4-2-1 not 1-2-4-8-16.
Array.Reverse(array);
/*
* [0] = 1
* [1] = 2
* [2] = 4
* etc
*/
int sum = 0;
for(int i = 0; i < array.Length; i++)
{
if (array[i] == '1')
{
// Method uses raising 2 to the power of the index.
if (i == 0)
{
sum += 1;
}
else
{
sum += (int)Math.Pow(2, i);
}
}
}
return sum;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57363 次 |
| 最近记录: |