Stefan entwickelt eine Firmware für einen Temperatursensor, der Messwerte als vorzeichenbehaftete 16-Bit-Ganzzahl im Zweierkomplement liefert. Im Speicherdump liest er den Hexwert 0xFFFF.
Er gibt -1 mit 16 Bit in den Rechner ein und erhält: Binär 1111111111111111, Hexadezimal 0xFFFF, Bereich -32768 bis 32767, negativ, kein Überlauf. Der Wert stimmt mit dem Dump überein — der Sensor meldet tatsächlich -1 Grad, keinen Fehlercode.
Zur Kontrolle prüft Stefan den Maximalwert: 32767 ergibt 0111111111111111 = 0x7FFF. Damit weiß er, dass Werte ab 0x8000 im Dump stets negative Temperaturen darstellen.
Für den Grenzfall gibt er -128 mit 8 Bit ein und erhält 10000000 = 0x80 — den kleinsten darstellbaren 8-Bit-Wert, bei dem nur das Vorzeichenbit gesetzt ist.
In einem zweiten Szenario debuggt Stefan einen Paketparser, der ein Statusbyte als 0xD6 empfängt. Er gibt -42 mit 8 Bit ein und sieht 11010110 = 0xD6.
Er zerlegt das Byte: Bit 7 ist gesetzt (negativer Wert), die Bits 6, 4, 2 und 1 tragen die Stellenwerte 64, 16, 4 und 2. Rekonstruktion: -128 + 64 + 16 + 4 + 2 = -42.
Damit identifiziert er das Byte korrekt als vorzeichenbehafteten Offset und nicht als vorzeichenloses Statusflag. 