Was bedeutet Signed und unsigned?

3 Antworten

Einfaches beispiel: ein Byte hat 8 Bit. Damit lassen sich Werte von 0 - 255 darstellen. Das ist "unsigned" - ohne Vorzeichen.

Wenn du aber Zahlen mit Vorzeihen hast ("signed"), brauchst du ein Bit, um dieses abzubilden. Dann bleiben dir für den Wert selbst nur noch 0 - 127 und das Vorzeichen. Damit kannst du dann Werte von -128 bis +127 abbilden.

(Warum -128 und nicht -127? Weil 1000 0000 ist -0 und 0000 0000 ist +0 ... daher ist per konvention 1000 0000 mit -128 festgelegt, iirc.)

Signed = mit Vorzeichen

Unsigned = nur positive Werte.

https://stackoverflow.com/questions/5739888/what-is-the-difference-between-signed-and-unsigned-int

Here are the 16 possible values of a four-bit unsigned int:

bits value

0000 0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 8

1001 9

1010 10

1011 11

1100 12

1101 13

1110 14

1111 15

... and Here are the 16 possible values of a four-bit signed int:

bits value

0000 0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 -8

1001 -7

1010 -6

1011 -5

1100 -4

1101 -3

1110 -2

1111 -1

Signed: Datentypen können auch negative Zahlen aufnehmen
unsigned: Nur 0 + positive Zahlen möglich