嗨,我是处理字节和低级编程的新手。目前,我有一个int(32位)....所以它看起来像这样:
0000000 10011011 00000000 00000000
我正在尝试仅输出第3组0和1(从右侧算起)。所以我要输出一个char值(?)我该怎么做?
谢谢!
答案 0 :(得分:3)
你可以将这些位向右移16,然后是&它用0x000000FF来清除除了所需位之外的所有位。
int i = 0b0000000100110110000000000000000;
char c = (i >> 16) & 0xFF;
printf("%c\n", c);
答案 1 :(得分:0)
int a = 1083899904;
a = a >> 16;
a = a % 256;
现在包含char值。你只需要从这里施展它。
我即将发布此内容,但你速度更快。