2¹⁶-1 & 2⁵ = 2⁵ (hoặc? Rõ ràng?)
Một nhà phát triển đã hỏi tôi hôm nay bit bit là gì 65535 & 32 tức là 2¹⁶-1 & 2⁵ =? Lúc đầu tôi nghĩ 32 nhưng có vẻ dễ dàng, tôi nghĩ trong vài phút rồi trả lời 32. 32 dường như là câu trả lời đúng nhưng làm thế nào? 65535 = 2¹⁶-1 = 1111111111111111 (nhưng có vẻ không đúng vì số nhị phân này tất cả các số phải là -1 (?)), 32 = 100000 nhưng tôi không thể chuyển đổi nó trong đầu. để trả lời một cái gì đó Là câu trả lời 32 trong thực tế tầm thường? Có phải theo cùng một cách 2¹⁶-1 & 2⁵-1 = 31? Tại sao nhà phát triển hỏi tôi về chính xác 65535?
Nhị phân những gì tôi được yêu cầu đánh giá là 111111111111111111 & 100000 nhưng tôi không hiểu tại sao 111111111111111111 không phải là -1. Không phải là -1 sao? 65535 có phải là con số tràn và làm sao tôi biết điều đó?