Was sind vorzeichenbehaftete Ganzzahlen in C++?
4 Antworten
Mit Ausnahme von bool, char und einigen weiteren wie wchar_t kommen die "normalen" Integer-Typen in zwei Geschmacksrichtungen als signed- und unsigned-Version daher.
Eine Ganzzahl ist eine Zahl ohne Nachkommastellen und diese gibt es entweder ausschließlich im positiven Bereich zwischen 0 und einem Grenzwert oder als "vorzeichenbehafteten Typ", womit auch negative Zahlen dargestellt werden können.
unsigned int, unsigned long, unsigned short oder unsigned char sind vorzeichenlose Ganzzahltypen. Du kannst damit keine Zahlen kleiner als Null darstellen.
signed int, signed long, signed short und signed char hingegen können auch problemlos negative Zahlen darstellen.
LG, Sophie <3
Ganz normale int
Ja richtig. In der Informatik zählt die 0 auch als vorzeichenbehaftet. Manchmal gibt es sogar zwei Repräsentanten, also +0 und -0, wenn das Vorzeichenbit entsprechend gesetzt ist.
Falls du darauf hinaus willst, dass dann alle Zahlen vorzeichenbehaftet sein müssten: Ja, du hast theoretisch recht. Also auch unsigned int Zahlen haben ein Vorzeichen, nämlich +, nur wird sprachlich das als nichtvorzeichenbehaftet in dem Bereich definiert.
char, short, int, long
- Wertebereich( char = 1 Byte ): -128..127
- Wertebereich( short = 2 Bytes ): -32768..32767
- Wertebereich( int = 3 Bytes ): -2147483648..2147483647
- Wertebereich( char = 4 Bytes ): -9223372036854775808..9223372036854775807
Alles, ohne Float und Double und als Signed.
Aber das Wort Vorzeichenbehaftet irritiert mich irgendwie, weil das heißt doch eigentlich das irgendwas vor einer Zahl stehen muss, wie z.B ein Minus oder ein Plus oder ?