我试图屏蔽一个整数,以便像这样单独分隔每个字节:
int a = (0xffffffff & 0xff000000) >> 24;
int b = (0xffffffff & 0x00ff0000) >> 16;
int c = (0xffffffff & 0x0000ff00) >> 8;
int d = 0xffffffff & 0x000000ff;
在这种情况下,b、c 和 d 给出了正确答案,255,但是,无论我将其更改为什么,a 都会继续给我 -1 和其他负数,我什至尝试过:
int a = (0xefffffff & 0xff000000) >> 24;
它给了我-17。
有人知道我该如何解决这个问题,以便在这种边界情况下 a 给我 255 和其他正数?