Является ли (1<<29) самым большим целым числом?
1&ЛТ;&ЛТ;29.что это значит?
я знаю его побитовую операцию?
Что я уже пробовал:
and why is it defined?
1< 29.как это может быть самое большое целое число?
and why is it defined?
Для 32-битного компьютера подписанный целое число, максимальное [положительное] значение равно (1 << 31) - 1
(потому что 1 << 31
представляет собой минимальное [отрицательное] значение), или 2 147 483 647
.
Для 32-битного компьютера неподписанный целое число, максимальное значение которого равно (1 << 32) - 1
(минимальное значение равно 0), или 4 294 967 295
.
Аналогично:
Для 64-битной версии подписанный целое число, максимальное значение которого равно (1 << 63) - 1
(потому что 1 << 63
представляет собой минимальное [отрицательное] значение), или 9 223 372 036 854 775 807
.
Для 64-битной версии неподписанный целое число, максимальное значение которого равно (1 << 64) - 1
, или 18 446 744 073 709 551 615
.
Возможно, это поможет вам понять операции двоичного сдвига:
Арифметический сдвиг - Википедия[^]
Да, это немного мудрая операция:
x << yсдвигает х влево на y бит.
x y x << y binary 1 1 2 000010 2 1 4 000100 1 3 8 001000 ...Так
1 << 29один переехал 29 бит влево.или, если хотите, один еще 29 нулей в двоичном, или 536 870 912 которая нигде не рядом как можно большее значение в 32-разрядное целое число: 2 147 483 647 или 01111111111111111111111111111111 в двоичной системе.
5ed!
Вы-усре ?
2 1 4 000100
1 2 4 000100
Вы правы, здесь есть опечатка, даже если в этом случае, 2 << 1 == 1 << 2
- Наполовину ошибка, так что :)