小编MaS*_*Smi的帖子

37
推荐指数
3
解决办法
10万
查看次数

使用bitshift操作产生奇怪的结果

我试图更好地理解bishift操作,所以我写了一个小程序.

unsigned char a = 240;
a= (a << 3) >> 7;
printf("a: %u\n",a);
Run Code Online (Sandbox Code Playgroud)

现在我想象结果将是这样的:

11110000 // 240
10000000 // << 3
00000001 // >> 7
Run Code Online (Sandbox Code Playgroud)

所以1,但我得到15.我很困惑...任何帮助表示赞赏!

c

5
推荐指数
1
解决办法
170
查看次数

标签 统计

c ×1

c++ ×1

dir ×1

winapi ×1