我在双变量中得到一个数字。
如何只取数字的低4位并将其保存在其他地方?
答案 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()
来电。