Ist u_int64_t auf einer 32-Bit-Maschine verfügbar?

8

Ich möchte eine Variable u_int64_t als Suchschlüssel verwenden,

ist u_int64_t auf 32-Bit-Maschine verfügbar?

Wenn nicht, muss ich diese Variable in zwei Variablen teilen? dann als Suchschlüssel ist es ein bisschen lästiger

gibt es eine Umgehung dafür?

    
user1944267 13.05.2013, 11:35
quelle

3 Antworten

9

Ein vorzeichenloser 64-Bit-Integraltyp wird vom C-Standard nicht garantiert, ist jedoch normalerweise auf 32-Bit-Computern und auf praktisch allen Computern mit Linux verfügbar. Wenn vorhanden, wird der Typ uint64_t genannt (beachten Sie einen Unterstrich weniger) und in der Header-Datei <stdint.h> deklariert.

    
user4815162342 13.05.2013, 11:39
quelle
5

Ja 64-Bit-Integer-Datentyp wird auf einer 32-Bit-Maschine unterstützt.

Im C89-Standard wird der Typ long long (≥ 64, ≥ size of long) als GNU unterstützt Erweiterung . Im C99-Standard gibt es eine native Unterstützung für eine lange Ganzzahl (≥ 64, ≥ Länge).

    
Barath Ravikumar 13.05.2013 11:41
quelle
0

nach einigen der Dokumentation oder Lesen ist nicht ganz klar __GLIBC_HAVE_LONG_LONG ist derjenige, der seine Präsenz in 32-Bit-Architektur definiert

aprobable Lösung für die Verwendung könnte etwas ähnlich wie unten

sein %Vor%

Ach übrigens, das ist in Linux

    
u__ 13.05.2013 12:19
quelle

Tags und Links