====== unsigned ====== ''unsigned'' ist ein Attribut zu [[c:type:integer|integeren Datentypen]]. ''unsigned'' bedeutet 'ohne Vorzeichen'. Integer werden normalerweise ''[[c:type: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 ====== [[c:attr:|C-Attribut]]: [[c:attr:signed]] \\ [[c:type:|C-Datentypen]]: [[c:type:char]], [[c:type:int]], [[c:type:long]], [[c:type:short]] \\ [[c:lib:|Standard-C-Library]]: [[c:lib:limits:|limits.h]]