Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
嗨,我是处理字节和低级编程的新手。目前,我有一个 int(32 位)......所以它看起来像这样:
0000000 10011011 00000000 00000000
我试图只输出第三组 0 和 1(从右边数)。所以我会输出一个字符值(?)我该怎么做?
谢谢!
您可以将这些位右移 16 位,然后使用 0x000000FF 清除除所需位之外的所有位。
int i = 0b0000000100110110000000000000000; char c = (i >> 16) & 0xFF; printf("%c\n", c);
int a = 1083899904; a = a >> 16; a = a % 256;
a 现在包含 char 值。你只需要从这里投射它。
我正要发布这个,但你更快。