Binärzahlen mit Vorzeichen

...komplette Frage anzeigen

5 Antworten

Der PC weiß es nicht! Nur das Programm, dass die zahlen verwendet, weiß, wie es sie zu verwenden hat, signed oder unsigned, das legt der Programmierer fest.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von boriswulff
16.10.2011, 12:24

Genau so ist es und nicht anders!

0

sprich wenn ich jetzt einen signed int eingebe, erkennt dies der computer und deklariert dann auch dementsprechend die binärzahl als signed?

also -198 wäre dann 1 1100 0110?

Antwort bewerten Vielen Dank für Deine Bewertung

Solche 8 bits bilden ein Zeichen (byte). Um eine zahl darzustellen benötigst du mindestens ein Halbbyte. Das letzte Halbbyte bei gepackten Feldern in einer Zahl bildet in der Regel das Vorzeichen. Bei ungepackten Federn brauchst du dann 1 Byte für die Definition des vorzeichens.

Antwort bewerten Vielen Dank für Deine Bewertung

Bis jetzt ist es beides. Es müsste angegeben sein, ob es sich um den Typ "unsingned Integer" (positiv) oder "signed Integer" handelt

Antwort bewerten Vielen Dank für Deine Bewertung

Müsste -70 nicht 10111010 sein ?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von boriswulff
16.10.2011, 12:28

11000110 wären denke ich -58

0
Kommentar von boriswulff
16.10.2011, 12:31

Ah. Jetzt verstehe ich du hast einfach nur das höchste Bit gesetzt. Das ist eigentlich in der Zahlendarstellung falsch.

-1 ist nicht 10000001

Man rechnet vielmehr -1 + 256 = 255 und stellt die -1 als 11111111 dar.

0

Was möchtest Du wissen?