unsigned long long: größte Zahl?
-
hallo,
ich wollte mal wissen, was die höchste darstellbare zahl eines unsigned long long ist (z.B. in C).
Allgemein wollte ich mal Fragen, wie ich das Berechnen kann.
lg
-
Das ist doch von der Architektur abhängig.
Ansonsten findest du hier Beispiele:
http://de.wikipedia.org/wiki/Integer_(Datentyp)#Maximaler_Wertebereich_von_Integer
-
danke.
wie genau wird das berechnet?
-
Bei unsigned-Typen:
von 0 bis 2 ^ Bitzahl - 1Bei signed-Typen:
von -2^(Bitzahl-1) bis 2^(Bitzahl-1) - 1
-
Angenommen, dir stehen 32bit für einen Integer zur Verfügung (signed, also mit Vorzeichen), dann hast du im Rechner eine binäre Zahl mit 31 Stellen und einem Vorzeichen, 2^31 = 2.147.483.648. Das ist die Anzahl der darstellbaren Zahlen. Da 0 auch eine darstellbare Zahl ist, ziehst du davon noch eins ab und hast somit 2.147.483.647 als maximalen Wert. Jetzt gibt es noch das Vorzeichenbit, das dir das gleiche nochmal alles als negative Werte geben kann, da es allerdings keinen Unterschied zwischen +0 und -0 gibt, braucht man im negativen Bereich die Anzahl nicht um eins zu beschränken. Insgesamt hast du dann einen Wertebereich von -2.147.483.648 bis +2.147.483.647.
-
ok, danke
kleine frage:
meinst du:
(2 ^ Bitzahl)-1oder
2 ^ (Bitzahl -1)?
-
h-a-l-l-o schrieb:
ok, danke
kleine frage:
meinst du:
(2 ^ Bitzahl)-1oder
2 ^ (Bitzahl -1)?
Beides. :p
-
Steffo schrieb:
h-a-l-l-o schrieb:
(2 ^ Bitzahl)-1
oder
2 ^ (Bitzahl -1)Beides. :p
Nein, nur ersteres.
-
danke.
-
Michael E. schrieb:
Steffo schrieb:
h-a-l-l-o schrieb:
(2 ^ Bitzahl)-1
oder
2 ^ (Bitzahl -1)Beides. :p
Nein, nur ersteres.
Nein, das hängt vom signed oder unsigned ab, wie schon wxSkip geschrieben hat.
-
Steffo schrieb:
Nein, das hängt vom signed oder unsigned ab, wie schon wxSkip geschrieben hat.
also ich les hier was anderes:
wxSkip schrieb:
Bei unsigned-Typen:
von 0 bis 2 ^ Bitzahl - 1Bei signed-Typen:
von -2^(Bitzahl-1) bis 2^(Bitzahl-1) - 1
-
Dann lies nochmal...
-
es geht um unsigned:
wxSkip schrieb:
Bei unsigned-Typen:
von 0 bis 2 ^ Bitzahl - 1wo steht da jetzt was von klammern? außerdem es zwischen
2^(Bitzahl-1)
und
(2^Bitzahl)-1ein unterschied.
-
Rechne doch einfach mal nach:
8 Bit unsigned : 28 = 256 -> 256 Zahlen darstellbar also ist der Bereich [0, 255] (einschließlich 0 und 255).
64 Bit unsigned : 264 = 18446744073709551616 -> 18446744073709551616 Zahlen darstellbar also ist der Bereich [0, 18446744073709551615] (einschließlich 0 und 18446744073709551615).
2bitcount-1
-
t-s-c-h-ö-ö mit -ö-ö- schrieb:
Rechne doch einfach mal nach:
8 Bit unsigned : 28 = 256 -> 256 Zahlen darstellbar also ist der Bereich [0, 255] (einschließlich 0 und 255).
64 Bit unsigned : 264 = 18446744073709551616 -> 18446744073709551616 Zahlen darstellbar also ist der Bereich [0, 18446744073709551615] (einschließlich 0 und 18446744073709551615).
2bitcount-1
also (2^Bitzahl)-1