Signed-Integer mit Vorzeichenbit?

2 Antworten

Beides: Du musst auf 16 Bit auffüllen und das höchstwertige Bit ist das Vorzeichen-Bit.

Signed Integer ist aber in der Darstellung K2-Komplement, nicht Vorzeichen-Betrag. Das hat Auswirkungen auf die Umrechnung zu negativen Zahlen.

0b111111111111111 ist -1 und nicht -32767

Wenn das Vorzeichen-Bit negativ (also 1) ist, musst du entweder: Komplette Zahl in Dezimal umwandeln und 2^16-Zahl rechnen, oder jedes Bit negieren, dann 1 addieren und dann umwandeln.

Ich denke, eins subtrahieren und dann jedes Bit negieren, dann umwandeln sollte auf das gleiche Ergebnis kommen.

Die 0 ganz links ist das most-significant bit, auch bekannt als Vorzeichen--Bit.

Ist das most-significant Bit auf 1 gesetzt, musst du 1 abziehen und auf jedes Bit das bitweise Nicht anwenden, um den Betrag der negativen Zahl zu bekommen.

Woher ich das weiß:Studium / Ausbildung