Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这个问题的接受答案显示了如何在 c 中设置一个位:您如何设置、清除和切换单个位?
但并没有真正说明“x”是什么。
是从左到右还是从右到左计算?无论如何,那个平台不依赖吗?
C 标准没有说明如何对移位的位进行编号。它说,对于您移动它的每个位置,一个值将是两倍大。
E1 << E2 的结果是 E1 左移 E2 位位置;空出的位用零填充。如果 E1 具有无符号类型,则结果的值为 E1 x 2 E2 , [...]。
在大多数当前机器上,这意味着1 << x将在值的表示中设置位号 x。它正式没有说明该位的存储位置。
1 << x