我在 C# 中有一个转换问题。基本上,我正在尝试将整数转换为字节,以便我们只使用低 4 位。示例255 = 0F 0F
或:
0xpqrs = 0p 0q 0r 0s
5*16*16*16 + 1*16*16 + 15*16 + 1 = 05 01 0f 01
如何在 C# 中实现这一点?
我在 C# 中有一个转换问题。基本上,我正在尝试将整数转换为字节,以便我们只使用低 4 位。示例255 = 0F 0F
或:
0xpqrs = 0p 0q 0r 0s
5*16*16*16 + 1*16*16 + 15*16 + 1 = 05 01 0f 01
如何在 C# 中实现这一点?
int => 字节:
int value = 0x51f1;
byte s = (byte)(value & 0xf);
byte r = (byte)(value>>4 & 0xf);
byte q = (byte)(value>>8 & 0xf);
byte p = (byte)(value>>12 & 0xf);
字节 => 整数:
int value = p<<12 | q<<8 | r<<4 | s;
Lucero 的答案修改为在具有更长整数的循环中工作。
public static byte[] intToBytesV2(ulong l)
{
byte[] theBytes = new byte[8];
for (int i = 0; i < 8; i++) {
theBytes[i] = (byte)(l >> (i * 4) & 0xf);
}
return theBytes;
}
pom =)
byte[] bArray=System.BitConverter.GetBytes(i);