2014-01-17 3 views
0

Какой должен быть точный typedef для unsigned long long?
Например:Какой должен быть точный размер для беззнакового длинного длинного

typedef unsigned int uint32 ; // учитывая мою машину чтения
typedef unsigned char byte ;

Так что

typedef unsigned long long ______ ;

ли uint64 или больше, чем это?

+3

Отсутствует. Его размер не привязан к одному значению. Требование минимально минимально. – juanchopanza

+0

8 байтов (64 бит) для большинства компиляторов. –

+0

'typedef unsigned long long int \t uint64_t' –

ответ

0
unsigned long long my_variable; 

означает my_variable представляет собой целое число без знака значение 64 бит (или более)

вы можете обнаружить helpfult это тоже:

How many bytes is unsigned long long?

unsigned long long 

является синонимом из

unsigned long long int 

, который определяется как

typedef unsigned long long int uint64_t 

см

Standard Integer Types

+0

'unsigned long long int 'не определяется как' uint64_t'. 'uint64_t' _may_ определяется как' unsigned long long int', обратное не указывается C. – chux

1

unsigned long long гарантированно будет по крайней мере, 64 бита в размере. Таким образом, это эквивалентно uint_least64_t:

ЬурейеГо беззнаковый долго долго uint_least_64_t

+0

Учитывая текущие платформы, они обычно эквивалентны. Эзотерическая/будущая C-совместимая платформа может иметь 'unsigned long long' как 128-битные без знака и' unsigned long' как 64-битные без знака. Такая система не поддерживает этот эквивалент с 'typedef unsigned long uint_least64_t;'. – chux

Смежные вопросы