2¹⁶-1 & 2⁵ = 2⁵ (o? Ovviamente?)
Uno sviluppatore mi ha chiesto oggi cosa è il bit a bit 65535 & 32 cioè 2¹⁶-1 & 2⁵ =? All'inizio ho pensato spontaneamente, ma mi è sembrato facile, ma ho pensato per diversi minuti e poi ho risposto 32. 32 sembra essere stata la risposta corretta ma come? 65535 = 2¹⁶-1 = 1111111111111111 (ma non sembra corretto dato che questo numero binario dovrebbe essere tutti -1 (?)), 32 = 100000 ma non ho potuto convertirlo nella mia testa, ma ho comunque risposto 32 dal momento che dovevo rispondere a qualcosa. La risposta 32 è infatti banale? È allo stesso modo 2¹⁶-1 & 2⁵ -1 = 31? Perché lo sviluppatore mi ha chiesto esattamente 65535?
Il file binario che mi è stato chiesto di valutare era 1111111111111111 & 100000 ma non capisco perché 1111111111111111 non sia -1. Non dovrebbe essere -1? 65535 è un numero che dà overflow e come faccio a saperlo?