C#16进制转2进制
时间: 2023-12-13 13:34:34 浏览: 135
以下是C#中将十六进制数转换为二进制数的方法:
```csharp
string hexValue = "AB"; // 十六进制数
string binaryValue = Convert.ToString(Convert.ToInt32(hexValue, 16), 2); // 转换为二进制数
Console.WriteLine("Hexadecimal value: " + hexValue); // 输出十六进制数
Console.WriteLine("Binary value: " + binaryValue); // 输出二进制数
```
解释一下上述代码的过程:
首先,我们定义了一个十六进制数 `hexValue`,其值为 `"AB"`。
然后,我们使用 `Convert.ToInt32()` 方法将 `hexValue` 转换为整型数,第二个参数 `16` 表示这是一个十六进制数。
接着,我们使用 `Convert.ToString()` 方法将整型数转换为二进制数,第二个参数 `2` 表示这是一个二进制数。
最后,我们使用 `Console.WriteLine()` 方法输出十六进制数和二进制数。
运行上述代码,将输出以下结果:
```
Hexadecimal value: AB
Binary value: 10101011
```
相关问题
c# 16进制转2进制
在C#中,你可以使用内置的转换函数将十六进制字符串转换为二进制。以下是基本步骤:
1. 首先,你需要一个十六进制字符串,例如 "FF" 表示255。
2. 使用 `Convert.ToInt32` 或 `int.Parse` 函数,传递十六进制字符串,并指定基数(Base 参数),这里是 `16` 表示十六进制:
```csharp
string hexString = "FF";
int decimalValue = Convert.ToInt32(hexString, 16);
```
或者
```csharp
int decimalValue = Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber);
```
3. 然后,你可以使用 `BitConverter.ToString` 将整数转换为二进制字符串:
```csharp
byte[] bytes = BitConverter.GetBytes(decimalValue);
string binaryString = BitConverter.ToString(bytes).Replace("-", "");
```
现在,`binaryString` 就包含了原始十六进制数值的二进制表示。
c#16进制转2进制byte数组
你可以使用以下代码将一个16进制字符串转换为2进制的byte数组:
```csharp
string hexString = "ABCD"; // 16进制字符串
byte[] byteArray = Enumerable.Range(0, hexString.Length / 2)
.Select(i => Convert.ToByte(hexString.Substring(i * 2, 2), 16))
.ToArray();
string binaryString = string.Join("", byteArray.Select(b => Convert.ToString(b, 2).PadLeft(8, '0')));
```
在上述代码中,我们首先定义了一个16进制字符串 `hexString`。然后,我们使用 LINQ 查询语句将16进制字符串转换为一个byte数组 `byteArray`。
接下来,我们使用 LINQ 查询语句将每个byte转换为一个8位的二进制字符串,并使用 `PadLeft` 方法填充0,以确保每个二进制字符串都有8位。最后,我们使用 `string.Join` 方法将所有二进制字符串连接起来,得到最终的二进制字符串 `binaryString`。
请注意,上述代码假设输入的16进制字符串是有效的,并且具有偶数长度,因为每两个字符表示一个字节。如果输入的16进制字符串长度不是偶数,你可能需要进行额外的错误处理。
阅读全文