Determine a paridade sem módulo

Uma técnica comum para determinar a paridade de um número (é par ou ímpar?) É dividir o número por 2 e verificar se sobrou algo. Isso faz sentido, é claro. Normalmente, o operador módulo é usado (por exemplo, my_value% 2 == 0). No entanto, você pode atingir o mesmo objetivo, com o mesmo número de caracteres, sem incorrer nos custos associados ao módulo. Aqui está como:

my_value & 1 == 0

Acontece que o bit menos significativo (LSB) de qualquer número dado define a paridade desse número. Vejamos os bits associados a alguns números (1, 2, 3, 4 e 5)

1 = 001
2 = 010
3 = 011
4 = 100
5 = 101

Se você olhar para o LSB (ou bit mais à direita) para cada número, você verá que todos os números ímpares terminam em 1 e todos os números pares terminam em 0. Bitwise & ‘ing aquele bit resultará em um 0 (se o número for par) ou 1 (se o número for ímpar). Se isto é confuso, você provavelmente não entende o bit a bit &. Pesquise no Google. Alguma opção de idioma neutro melhor por aí?