Hacks com Deslocamento
Você pode usar os operadores de deslocamento para diversos hacks (soluções engenhosas) úteis. Por exemplo, dada uma data especificada pelo dia do mês d
, mês m
e ano y
, você pode armazenar toda a data em um único inteiro date
:
Para extrair o dia, mês e ano de date
, use uma combinação de deslocamento e resto:
-1 << LOWBITS
é uma maneira inteligente de criar um inteiro cujos LOWBITS
bits menos significativos são todos 0 e o restante são todos 1. -(1 << LOWBITS)
é equivalente a isso, devido à associatividade da multiplicação, já que negar um valor é equivalente a multiplicá-lo por -1.
Atualizado