Почему bitmask'и следует пихать только 30/62 значения для 32/64 int'ов. Читал книгу и написано только 30/62 юзать:
                  
                  
                  ( To avoid issues with the 
                  
                  
                      two’s complement representation, use a 32-bit/64-bit signed integer to represent bitmasks of up to
                  
                  
                      30/62 items only, respectively )
                  
                  
                  Как я понял самый левый бит отвечает за +-, но почему тогда не 31/63 элемента использовать, зачем оставлять еще один пустой элемент в bitmask'e?
                  
                  
                
Потому-что автор пронумеровал биты начиная с нуля. Получилось, что предпоследний - номер 30.
Обсуждают сегодня