Welchen Wertebereich hat ein long long? WIeviel Bit?
-
Hallo,
welchen Wertebereich hat ein long long?
bzw. wieviel Bit? 64 ?Danke und sorry für diese banale frage - in der sufu und google gabs nichts
-
Bits:
sizeof(long long)*CHAR_BITWertebereich [
std::numeric_limits<long long>::min(),std::numeric_limits<long lon>::max()]
-
numeric_limits<char>::digits
/edit: ups, nat\"urlich: numeric_limits<long long>::digits
dabei beachten, dass das bit fürs vorzeichen nicht auftaucht. (oder unsigned long long verwenden)
-
hmm....
lieber wäre mir so eine antwort gewesen:
wertebereich long long = 64 Bit
stimmt das?
-
auf nem 32 bit system vielleicht
-
Systemabhängig. Auf einem Intel kompatiblen 32-bitter in der Regel: Ja.
greetz, Swordfish
-
gergergergeger schrieb:
Danke und sorry für diese banale frage - in der sufu und google gabs nichts
Mag daran liegen dass der Standard für keinen Datentyp feste Größen, lediglich Relationen vorgibt

-
gergregergrg schrieb:
hmm....
lieber wäre mir so eine antwort gewesen:
wertebereich long long = 64 Bit
stimmt das?
Und weisst du, was mir lieber wäre ?
An Stelle des obigen "ich stecke die Hände in die Taschen und du mach mal die Scheisse für mich" - Beitrages ?Etwa so etwas in der Art:
Mein Compiler gibt mir für sizeof(long long) den Wert 8 aus.
Sind das jetzt 64 Bit, wenn man bedenkt das ein Byte immer 8 Bit hat und die Funktion sizeof die Anzahl der Byte zurückgibt ?MfG !
-
nö, der standard verwendet zwar den begriff byte, aber sagt nicht, aus wievielen bits eines bestehen muss.
-
Da siehst du, dass der Datentyp mindestens 64 Bit breit ist und nicht zum aktuellen C++-Standard gehört.
-
Da "long long" nicht zum offiziellen C++ Standard gehört kann "long long" beliebig gross sein. Nur weil *irgendein anderer* "Standard" vorschreibt "long long" müsste min. 64 Bit gross sein muss sich ein Compiler der "bloss" ISO C++ konform ist noch lange nicht an diesen *anderen* "Standard" halten der das vorschreibt.
In der Praxis kann man aber davon ausgehen dass "long long" falls vorhanden sehr oft 64 Bit breit sein wird, genauso wie man davon ausgehen kann dass "long" sehr oft 32 Bit breit sein wird.