- 已关闭**。此问题为opinion-based。当前不接受答案。
- 想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。
21小时前关门了。
Improve this question
我需要从一个字节数组中提取位(littleendian),然后从中形成一个新的int。
假设我的字节数组是:
第一个月
我需要提取14到18位(包括14和18位)。
首先我像这样的位掩码:[0b00011001, 0b11000000, 0b00000010, 0b11001110]
在[1]
上使用& 0b11000000
,在[2]
上使用& 0b00000111
然后删除第一个字节,并重置其他字节:[0b11000000, 0b00000010, 0b00000000, 0b00000000]
如果我用这个来构造一个uint 32,结果是704
,对吗?
假设MSB = 7且LSB = 0是否正确?
1条答案
按热度按时间vngu2lb81#
正如评论中提到的,使用
union
会容易得多。当然,这会简单得多,只需将值向右移位,然后屏蔽最低的5位......这是战争......