IT序号网

c之Linux 中定义 64 位宽的整数

xing901022 2024年08月28日 编程语言 14 0

我尝试在 Ubnutu 9.10 上使用 C 语言定义一个 64 位宽的整数。 9223372036854775808 是 2^23

long long max=9223372036854775808 
long max=9223372036854775808 

当我编译它时,编译器给出了警告信息:

binary.c:79:19: warning: integer constant is so large that it is unsigned 
binary.c: In function ‘bitReversal’: 
binary.c:79: warning: this decimal constant is unsigned only in ISO C90 
binary.c:79: warning: integer constant is too large for ‘long’ type 

long类型是64位宽吗?

最好的问候,

请您参考如下方法:

   long long max=9223372036854775808LL; // Note the LL 
// long max=9223372036854775808L; // Note the L 

long long 类型至少是 64 位,long 类型至少是 32 位。实际宽度取决于编译器和目标平台。

使用 int64_tint32_t 确保 64 位/32 位整数可以放入变量中。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!