Действительно, это не имеет смысла, если somevar
имеет тип int
(32-разрядное целое число). Однако, если он имеет тип long
(64-разрядное целое число), то это маскирует верхнюю (наиболее значимую) половину значения.
Обратите внимание, что значение long
не обязательно равно 64 битам, но обычно равно на 32-битном компьютере.