C字节 - 取出多余的零(使它成为一个char?)

时间:2012-10-13 01:01:07

标签: c int byte

嗨,我是处理字节和低级编程的新手。目前,我有一个int(32位)....所以它看起来像这样:

 0000000 10011011 00000000 00000000

我正在尝试仅输出第3组0和1(从右侧算起)。所以我要输出一个char值(?)我该怎么做?

谢谢!

2 个答案:

答案 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值。你只需要从这里施展它。

我即将发布此内容,但你速度更快。