在C#中获得双倍的低位

时间:2013-12-03 12:34:46

标签: c# bit

我在双变量中得到一个数字。

如何只取数字的低4位并将其保存在其他地方?

2 个答案:

答案 0 :(得分:2)

首先将它(逐位)转换为long,因此您可以应用按位运算符:

long bits = BitConverter.DoubleToInt64Bits(your_double);
int lowest_4_bits = (int)bits & 0xF;

答案 1 :(得分:2)

使用BitConverter.GetBytes获取字节数组中的所有8个字节。从那里做你想做的事。

如果你真的想要最低的四个,那么你想要:

byte[] bytes = BitConverter.GetBytes(someDouble);
int low4bits = bytes[0] & 0xf;

如果您确实需要四个字节,那么您可以通过拨打BitConverter.GetBytes()来跟随Array.Copy()来电。