2¹⁶-1 & 2⁵ = 2⁵ (oder? Offensichtlich?)
Ein Entwickler hat mich heute gefragt, was bitweise 65535 & 32 ist, dh 2¹⁶-1 & 2⁵ =? Ich dachte zuerst spontan 32, aber es schien zu einfach, woraufhin ich einige Minuten nachdachte und dann 32 antwortete. 32 scheint die richtige Antwort gewesen zu sein, aber wie? 65535 = 2¹⁶-1 = 1111111111111111 (aber es scheint nicht richtig zu sein, da diese Binärzahl alle -1 (?) Sein sollte), 32 = 100000, aber ich konnte das in meinem Kopf nicht konvertieren, woraufhin ich ohnehin 32 antwortete, seit ich hatte etwas beantworten. Ist die Antwort 32 tatsächlich trivial? Ist in gleicher Weise 2¹⁶-1 & 2⁵-1 = 31? Warum hat mich der Entwickler nach genau 65535 gefragt?
Binär, was ich bewerten sollte, war 1111111111111111 & 100000, aber ich verstehe nicht, warum 1111111111111111 nicht -1 ist. Sollte es nicht -1 sein? Ist 65535 eine Zahl, die einen Überlauf verursacht, und woher weiß ich das?