看起来如果移位的左操作数很长,我应该能够在C/C++中执行超过32位的位移.但这似乎不起作用,至少使用g ++编译器.
例:
unsigned long A = (1L << 37)
Run Code Online (Sandbox Code Playgroud)
给
A = 0
Run Code Online (Sandbox Code Playgroud)
这不是我想要的.我错过了什么,或者这是不可能的?
-J
如何设置(以最优雅的方式)n最不重要的位uint32_t?那就是写一个函数void setbits(uint32_t *x, int n);.函数应该处理每一个n从0到32.
尤其n==32应该处理价值.