3.3.2. long long

ARM 编译器通过类型说明符 long longunsigned long long 支持 64 位整型。 就通常的算术转换而言,它们的行为类似于 longunsigned long__int64long long 的同义词。

整型常数可以具有:

printf()scanf() 的格式说明符可以包含 ll,以指定随后的转换应用于 long long 自变量,如在 %lld%llu 中。

同样,如果普通整型常数的值足够大,则该常数的类型为 long longunsigned long long。 编译器将生成一条警告消息以指示这一变化。 例如,在严格 1990 ISO 标准 C 中,2147483648 的类型为 unsigned long。 在 ARM C 和 C++ 中,其类型为 long long。 这种情况产生的一个后果可以在表达式值中体现出来,例如:


2147483648 > -1 

在严格 C 和 C++ 中,该表达式的计算结果为 0;而在 ARM C 和 C++ 中,该表达式的计算结果为 1。

long long 类型适用于通常的算术转换。

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential