(1 << 4) in binary: 0b10000
It is 00001 shifted left 4 bits.
0b10000 - 1 = 0b1111 (all 4 bits set).
Let's say you want only 1 bit set:
(1 << 1) - 1 = 0b0010 - 1 = 0b0001
Or 6 bits set:
(1 << 6) - 1 = 0b1000000 - 1 = 0b111111
(1 << 4) in binary: 0b10000
It is 00001 shifted left 4 bits.
0b10000 - 1 = 0b1111 (all 4 bits set).
Let's say you want only 1 bit set:
(1 << 1) - 1 = 0b0010 - 1 = 0b0001
Or 6 bits set:
(1 << 6) - 1 = 0b1000000 - 1 = 0b111111