Литеральные типы: 0x1ull vs 0x1llu

мойgcc компилятор позволяет мне определять беззнаковый длинный длинный (то есть 64-битный) литерал как

#define A_LITERAL 0x1ull

--- или же ---

#define A_LITERAL 0x1llu

Есть ли разница между этими двумя буквальными утверждениями? Это общее для других компиляторов Си?

 paxdiablo25 июн. 2013 г., 04:03
Я голосую за это, поскольку это меня чему-то научило. я ужезнал обе формы были действительны, но предпочтительныULL потому что это соответствовалоunsigned long long тип. Тем не менее, оказывается, что типы тоже довольно изменчивы, что позволяетстранность» какlong unsigned long: увидетьstackoverflow.com/questions/17287957/...

Ответы на вопрос(3)

Решение Вопроса

Суффикс без знакаu может быть до или после долгогоl (или долго долго (ll)) суффикс.

 Benjamin Leinweber25 июн. 2013 г., 05:31
Отмечая этот ответ как вопрос, был в контексте C, и это цитирует стандарт C.

отрывок из проекта стандарта C ++ 11 n3337:

integer-suffix:
    unsigned-suffix long-suffix(opt)
    unsigned-suffix long-long-suffix(opt)
    long-suffix unsigned-suffix(opt)
    long-long-suffix unsigned-suffix(opt)

unsigned-suffix: one of
    u U

long-suffix: one of
    l L

long-long-suffix: one of
    ll LL
 paxdiablo25 июн. 2013 г., 03:28
Убраны дополнительные индикаторы, чтобы они выделялись (были подписаны в стандарте).
 Benjamin Leinweber25 июн. 2013 г., 05:33
+1 Так как это действительно как вопрос C ++.
 Mats Petersson25 июн. 2013 г., 03:30
Благодарю. Я надеялся, что мойвставить" из документа будет переводить немного лучше, чем это было ...
 Potatoswatter25 июн. 2013 г., 05:31
Это н'вопрос С ++.

ull или жеllu заставить компилятор рассматривать константу какunsigned а также .long long integer

Получатель чего-тоll а такжеu Безразлично»не имеет значения, ни их дело. Вы также можете написатьLLU или же .ULL

Ваш ответ на вопрос