📅  最后修改于: 2023-12-03 14:59:41.411000             🧑  作者: Mango
在 C# 中,我们可以通过以下方法将 int 类型的数字转换成二进制数组:
int num = 42;
byte[] binaryArray = BitConverter.GetBytes(num);
这里使用了 BitConverter
类中的 GetBytes()
方法将数字转换为二进制数组。需要注意的是,在使用 GetBytes()
方法转换时,“低位在前,高位在后”的字节顺序可能因系统而异。如果需要指定字节顺序,则可以使用 BitConverter
类中的其他方法。
实现代码如下:
int num = 42;
byte[] binaryArray = BitConverter.GetBytes(num);
string binaryString = string.Join("", binaryArray.Select(x => Convert.ToString(x, 2).PadLeft(8, '0')));
string result = $"二进制数组为:[{string.Join(", ", binaryArray)}]\n对应二进制字符串为:{binaryString}";
Console.WriteLine(result);
输出结果为:
二进制数组为:[42, 0, 0, 0]
对应二进制字符串为:00101010000000000000000000000000
在这个示例中,我们将得到一个长度为 4 的二进制数组,因为 int 数据类型是 32 位的(即 4 个字节)。我们通过使用 LINQ 中的 Select()
方法和 Convert.ToString()
方法的 overload,将每个字节转换成一个 8 位的二进制字符串。最后,我们使用 string.Join()
方法将所有的二进制字符串拼接起来,并在必要的地方进行字符串填充(PadLeft()
方法)。