Wie errechnet man den Wert eines primitiven Datentyps?

... komplette Frage anzeigen

2 Antworten

Der Abend ist ja schon vorangeschritten. :) Hier sind die Formeln für ganzzahlige Datentypen:


Mit N Bit können 2^N verschiedene Werte dargestellt werden.

Bei unsigned ist der minimale Wert 0 und der maximale Wert 2^N-1.

Der maximale Wert kann nicht 2^N sein, weil der Wertebereich mit der Null beginnt.

Z.B. bei 8 Bit also 0 bis 2^8-1, d.h.: 0 bis 255.

Bei signed ist der minimale Wert -2^(N-1) und der maximale Wert 2^(N-1)-1.

Die Null liegt kann bei signed nicht genau in der Mitte liegen, weil es eine gerade Anzahl von Werten gibt. Der negative Eckwert ist im Betrag um 1 größer als der positive Eckwert. Der halbe Wertebereich ist <= 0 und der andere halbe Bereich >0.

Z.B. bei 8 Bit also: -2^7 bis 2^7-1, d.h.: -128 bis 127

Die Gleitkommazahlen sind ein komplizierteres Kapitel.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Franz1957
01.08.2016, 12:37

Fehlerberichtigung:
Der halbe Wertebereich ist < 0 und der andere halbe Bereich >= 0.

1

Der größtmögliche unsigned Integer ist 2^32, da es eine 32-stellige Zahl im Binärsystem ist.

Bei anderen Datentypen funktioniert das weniger gut, da Bits z.B. für +/- oder die Position des Kommas verwendet werden. Wenn du aber genau weißt, wie ein Datentyp gespeichert ist, kannst du das für jeden Datentyp ausrechnen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von TeeTier
01.08.2016, 03:16

Der größtmögliche unsigned Integer ist 2^32, da es eine 32-stellige Zahl im Binärsystem ist.

Und was ist mit 64-Bit unsigned long? :)

0
Kommentar von Franz1957
01.08.2016, 03:39

Der größtmögliche unsigned Integer ist 2^32, da es eine 32-stellige Zahl im Binärsystem ist.

Das würde bedeuten, daß der kleinstmögliche Wert 1 ist.

0

Was möchtest Du wissen?