【发布时间】:2023-02-15 03:25:27
【问题描述】:
我是初学者,所以不要对我的简单问题生气,但假设我有一个 int 变量
假设 a,我做 a<<3 是否等于 a*2^3 = a*8 因为我读到移位运算符将变量与 2^x 相乘。
我是正确的还是我误读了这种情况?
谢谢!
【问题讨论】:
-
是的,除非它溢出。
我是初学者,所以不要对我的简单问题生气,但假设我有一个 int 变量
假设 a,我做 a<<3 是否等于 a*2^3 = a*8 因为我读到移位运算符将变量与 2^x 相乘。
我是正确的还是我误读了这种情况?
谢谢!
【问题讨论】:
左移简单的说就是将设定的二进制值向左移动一些地方。例如,3 的二进制值为 11,因此执行 3<<3 意味着我们将这些设置位 (1) 左移到左侧 3 个位置。所以 11 变成 11000 等于 24。
【讨论】: