c#二进制转换为十进制
时间: 2024-09-20 13:17:52 浏览: 53
在C#中,你可以使用`Convert.ToInt32()`或`BitConverter.ToInt32()`方法将二进制字符串转换为十进制整数。这里是一个简单的示例:
```csharp
string binaryString = "101010"; // 二进制字符串
int decimalValue = Convert.ToInt32(binaryString, 2); // 第二个参数2表示基数是2,即二进制
// 或者使用 BitConverter
byte[] bytes = new byte[binaryString.Length / 8]; // 保证每个字节有足够的位
for (int i = 0; i < bytes.Length; i++)
{
int bitValue = Convert.ToInt32(binaryString.Substring(i * 8, 8), 2);
bytes[i] = (byte)bitValue;
}
decimalValue = BitConverter.ToInt32(bytes, 0);
```
这两个方法会将给定的二进制字符串解析成相应的十进制数值。
相关问题
c#二进制转换为十进制不使用Convert.ToInt32()或BitConverter.ToInt32()
如果你不想使用`Convert.ToInt32()`或`BitConverter.ToInt32()`直接进行转换,也可以手动逐位计算,例如通过循环遍历二进制字符串,并将其每一位乘以2的相应次方,然后求和得到十进制值。以下是一个简单的实现方式:
```csharp
public static int BinaryToDecimal(string binary)
{
if (binary == null || binary.Length == 0)
return 0;
int decimalValue = 0;
int power = binary.Length - 1;
foreach (char digit in binary)
{
if (digit == '1')
decimalValue += Math.Pow(2, power);
power--;
}
return decimalValue;
}
```
这个自定义函数从最低有效位开始处理,每次遇到'1'就加到结果上,同时减少当前位的权重。
c# 十进制转换二进制
可以使用 Convert.ToString 方法将十进制数转换为二进制字符串,示例代码如下:
```csharp
int decimalNumber = 10;
string binaryString = Convert.ToString(decimalNumber, 2);
Console.WriteLine(binaryString); // 输出 1010
```
其中,第二个参数指定转换的进制数,这里是 2 表示转换为二进制。
阅读全文