Он оценивается как 1 сдвинутый 1 бит влево, то есть число, также известное как 2.
Поскольку оператор умножения *
связывается сильнее, чем оператор сдвига битов <<
, выражениеанализируется как 1 << (1 * 1)
, то есть просто 1 << 1
.
. В двоичном коде, используя 8 битов для удобства чтения, мы имеем
00000001
<< 1
==========
00000010
. При преобразовании обратно в десятичное число мы получаем 00000010 2 = 2 10 .