C中的左移操作无法按预期工作

时间:2015-03-12 18:14:35

标签: c gdb

我正在通过一段代码运行GDB,该代码的左移1乘以10000.

这是代码

uint32_t x = (1 << y ) 

y的值是10000.

我期待x的值为0,但我看到x的值为65536.非常奇怪。

GDb也会显示此行为

(gdb) p 1<<10000
$52 = 65536
(gdb) p 1<<9984
$54 = 1

这有什么问题?

0 个答案:

没有答案