unsigned

unsigned ist ein Attribut zu integeren Datentypen. unsigned bedeutet 'ohne Vorzeichen'. Integer werden normalerweise signed gespeichert, also mit Vorzeichen. Das Vorzeichen belegt ein Bit, mit unsigned wird das Integer vorzeichenlos. Damit dann der Bereich, der sonst für negative Zahlen genutzt wird dem positiven Bereich hinzugefügt werden. Damit verdoppelt sich der Bereich der positiven Zahlen und es können größere Zahlen gespeichert werden.

Neben der Verdoppelung des positiven Zahlenbereichs hat unsigned einen weiteren Vorteil: Häufig werden Integer als Index verwendet, z.B. bei einem Array. Hierbei wird vom Anfang des Arrays mit Hilfe des Index auf das Element zugegriffen. Hier führen negative Indizes zu Fehlern. Um dies im Quelltext zu dokumentieren, verwendet man hier ebenfalls unsigned. Selbiges gilt für Größenangaben: der Länge einer Liste, der Größe einer Datei, der Anzahl von Datensätezn. Hier sind negative Zahlen nicht sinnvoll und sollten daher als unsigned gekennzeichnet werden.

siehe auch