Uint到二进制传输

时间:2012-02-14 08:56:21

标签: c# binary

对于你们中的一些人来说这可能是一个愚蠢的问题,但我需要问一下。 我有这个问题,我无法弄清楚。如果有人有任何想法,如果你和我分享,我会很高兴。 我有一个UInt64,我必须转换为二进制,并在组上拆分5位。 然后根据每组位设置不同的值。 我的问题是我无法找到一种将其转换为5位组的好方法。

之后我将为每个组指定一个不同的值。例如:

00000 - 0
00001 - a
00010 - B
00011 - c
00100 - d
.......

有任何想法或建议吗?

以后更改价值的最佳方法是什么?我在想一个Switch

Switch()
{
case "00000" : return 0;
case "00001" : return a;
case "00010" : return B;
case "00011" : return c;
}

这是一个更多的解释,我想得到的是这个。例如,我有64Uint = 1234123; 从中我想获得以下数组:

 Array[,] something = new Array[12,5];

2 个答案:

答案 0 :(得分:2)

使用BitConverter.GetBytes()将Uint64转换为字节。

答案 1 :(得分:1)

您可以使用位掩码以五位为一组拆分uint64:

UInt64 a = 1234;
for (int i = 0; i < 64; i += 5)
{
    uint fiveBits = (uint)((a >> i) & 31);
    // fiveBits is between 0 and 31
}