c - 位运算符 : Difference between << and <<= or >> and >>= in c

标签 c bit-manipulation

请详细解释<<和<<=以及>>和>>=之间的区别。 我知道移位运算符是如何工作的,但是当涉及到 >>= 或 <<= 时,我不太确定它们。

最佳答案

<<只左移。 <<=左移赋值。

<<=<<什么+=+ .

编辑

根据 MByD 的建议,这里有一个例子

int x = 1;

/* Print 32. */
printf("%d\n", x << 5);

/* x stays the same. */
printf("%d\n", x);

x <<= 5;

/* x has become 32. */
printf("%d\n", x);

关于c - 位运算符 : Difference between << and <<= or >> and >>= in c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888288/

相关文章:

在 cmd 提示符下在 Vista 中编译 gtk+ & gtkmm

c - 阅读几个 MP3 文件的标签

javascript - 无符号右移函数不适用于负输入

sql - PostgreSQL:位到smallint

c - 结构成员 [数组与指针]

在析构函数中的 main 之后无法读取 exit_code

c - 我正在使用 malloc,我的程序崩溃了

javascript - 按位或意外结果

python - python中对象的按位处理

c - 移位取消而不是预期的行为