2¹⁶-1 & 2⁵ = 2⁵ (или? Очевидно?)
Разработчик спросил меня сегодня, что поразрядно 65535 & 32 то есть 2¹⁶-1 & 2⁵ =? Сначала я подумал, что спонтанно 32, но мне показалось, что легко, после чего я думал несколько минут, а затем ответил 32. 32 кажется правильным, но как? 65535 = 2¹⁶-1 = 1111111111111111 (но это не кажется правильным, так как все двоичные числа должны быть -1 (?)), 32 = 100000, но я не мог преобразовать это в своей голове, после чего я все равно ответил 32, так как у меня было ответить на что-то. Действительно ли ответ 32 тривиален? Точно так же 2¹⁶-1 и 2⁵-1 = 31? Почему разработчик спросил меня о именно 65535?
Двоичное значение, которое меня попросили оценить, было 1111111111111111 & 100000, но я не понимаю, почему 1111111111111111 не равно -1. Разве это не должно быть -1? 65535 - число, которое дает переполнение, и как я узнаю это?