-4

这个问题的接受答案显示了如何在 c 中设置一个位:您如何设置、清除和切换单个位?

但并没有真正说明“x”是什么。

是从左到右还是从右到左计算?无论如何,那个平台不依赖吗?

4

1 回答 1

0

C 标准没有说明如何对移位的位进行编号。它说,对于您移动它的每个位置,一个值将是两倍大。

E1 << E2 的结果是 E1 左移 E2 位位置;空出的位用零填充。如果 E1 具有无符号类型,则结果的值为 E1 x 2 E2 , [...]。

在大多数当前机器上,这意味着1 << x将在值的表示中设置位号 x。它正式没有说明该位的存储位置。

于 2012-07-09T11:22:18.153 回答