signed / unsigned

Diskutiere signed / unsigned im Programmierung Forum im Bereich Software Forum; Hi Leute Kann mir jemand erklären, was bei C++ die Wörter "signed / unsigned" für eine Bedeutung haben??? Wann kommen sie zum Einsatz? Gibts was...
M

Matrix

Threadstarter
Mitglied seit
19.08.2002
Beiträge
1.064
Alter
43
Hi Leute
Kann mir jemand erklären, was bei C++ die Wörter "signed / unsigned" für eine Bedeutung haben???
Wann kommen sie zum Einsatz?
Gibts was vergleichbares in Java?

thx für die unzähligen Antworten! :blush
 
N

Never_Born

Gast
Hallo

Das wird meistens bei Integern verwendet. Ein signed Integer kann ein Vorzeichen haben und somit positiv als auch negativ sein. Dies hat dann zu Folge, dass der Wertebereich kleiner wird (weil ein Vorzeichen mitgespeichert werden muss). Ein unsigned Integer hat also kein Vorzeichen und kann nur positiv sein.

Gruss
Never_Born
 
stpe

stpe

Mitglied seit
14.11.2001
Beiträge
2.729
um genauer zu sein: signed halbiert den wertebereich eines integer. waehrend beim unsigned int (wenn integer=16bit) alle positiven zahlen von 0 (ok - null ist keine positive zahl ;) ) bis 65535 dargestellt werden koennen, werden beim signed alle werte von 0-32767 als positiv gewertet, alle zahlen von 32768-65535 als negativ. weisst Du einem signed integer die zahl 65534 zu, entspricht das -2.

alles klar? ;)
 
M

Matrix

Threadstarter
Mitglied seit
19.08.2002
Beiträge
1.064
Alter
43
Jo schon klarer! ;)
Danke euch beiden schonmal...!
Aber wozu werden sie dann verwendet? Vielleicht um eine effizientere Ausnutzung des Speichers zu gewährleisten, oder wiso?
 
stpe

stpe

Mitglied seit
14.11.2001
Beiträge
2.729
das liegt an der art, wie ein computer seine zahlen speichert, naemlich nur mit 0 und 1. ein -1 ist nicht darstellbar... deswegen musste man sich ausdenken, wie auch mit negativen zahlen gerechnet werden kann (und das war auch schon vor der grossen dot-com-pleitewelle so ;) ). und das war die einfachste loesung, da schnell und daher auch effizient.
 
F

foo

Gast
Außer daß der Wertebereich bei unsigned doppelt so groß ist, gibt es noch andere gute Gründe für die signed/unterscheidung.

Wenn man eine Variable anlegt, die immer nur >=0 (positiv oder 0) sein soll, spart man sich mit einem unsigned Ärger und das schreiben von Abfragen, die falsche Wertebereiche abfangen - eine unsigned variable kann niemals negativ werden, per definition.

Außerdem sind bytes als "unsigned char" recht praktisch zugreifbar; nimmt man aber den char als signed, dann kommt man an alle Zeichen >127 nicht mehr ordentlich heran, da man die dann irgendwie auf negativ umfummeln muß... daher findet man öfters "unsigned char".

[MKA]foo
 
Thema:

signed / unsigned

Sucheingaben

signed unsigned

,

unsigned bedeutung

,

signed in unsigned

,
java unsigned int deutsch
, unsigned to signed wort umrechnen, vorzeichen signed unsigned, vorzeichen unsigned char, unsigned signed, programmierung signed, c was bedeutet unsigned, signed unsigned bedeutung, signed unsigned bedeutung c++
Oben