Welche Art für eine ganze Zahl von mehr als 4 Bytes?
Frage
Ich muß unsigned Zahlen verwenden, die mehr als 4 Byte erstrecken könnte, welche Art sollte ich verwenden?
PS Sorry für die "noobism" aber das ist es: D
NB: Ich ganze Zahlen brauchen, weil ich Divisionen zu tun haben, und kümmern sich nur für die Integer-Teile und auf diese Weise int sind nützlich
Lösung
long long , 64-Bit-Integer ... hier können Sie einen Hinweis zu den Datentypen finden und reichen ...
Andere Tipps
Fügen Sie einfach
Es gibt einige andere nützliche Varianten an diesem Header, wie die am wenigsten Varianten (uint_least64_t ist ein Typ mit mindestens 64 Bit) und die schnellen Varianten (uint_fast64_t ist die schnellste Integer-Typ mit mindestens 64 Bit). Ebenfalls sehr nützlich sind intptr_t / uintptr_t (groß genug für einen void * Zeiger) und intmax_t / uintmax_t (größte Typ).
Und wenn aus irgendeinem Grund der Compiler keinen
Nehmen Sie Ihre Auswahl:
long long
(-9,223,372,036,854,775,808 zu 9,223,372,036,854,775,807)
unsigned long long
: (0 bis 18,446,744,073,709,551,615)
Wenn Sie wirklich lange ganze Zahlen (beliebige Genauigkeit), könnten Sie auch versuchen, das gmp Bibliothek, in dem es auch eine C ++ Klasse basierte Schnittstelle.
unsigned long long - es ist mindestens 64 Bit lang