我遇到了一些抓取字节中n位的小麻烦。
我有一个无符号整数。假设我们的十六进制数字是0x2A,即十进制数42。在二进制中它看起来像这样:0010 1010。如何获取前五位(00101)和接下来的三位(010),并将它们放入单独的整数中?
如果有人能帮助我,那就太好了!我知道如何从一个字节中提取,只需执行
我有一个无符号整数。假设我们的十六进制数字是0x2A,即十进制数42。在二进制中它看起来像这样:0010 1010。如何获取前五位(00101)和接下来的三位(010),并将它们放入单独的整数中?
如果有人能帮助我,那就太好了!我知道如何从一个字节中提取,只需执行
int x = (number >> (8*n)) & 0xff // n being the # byte
我在Stack Overflow的另一个帖子上看到了这个,但我不确定如何从字节中获取单独的位。如果有人能帮我解决问题,那就太好了!谢谢!
int a = 0x2A;
等同于写成int a = 42;
. - user93353