首页  >  文章  >  后端开发  >  当“long”数据类型不足时,“LL”后缀如何能够在 C/C 中处理大整数值?

当“long”数据类型不足时,“LL”后缀如何能够在 C/C 中处理大整数值?

DDD
DDD原创
2024-11-07 10:28:03913浏览

How does the `LL` suffix enable handling large integer values in C/C   when the `long` data type is insufficient?

C/C 中的 long long

此代码片段演示了 C/C 中 long long 数据类型的使用:

#include <stdio.h>

int main()
{
    int  num1 = 1000000000;
    long num2 = 1000000000;
    long long num3;
    long long num4 = ~0;

    printf("%u %u %u", sizeof(num1), sizeof(num2), sizeof(num3));
    printf("%d %ld %lld %llu", num1, num2, num3, num4);
    return 0;
}

在将注释行取消注释的情况下编译代码时(分配了一个对于 long 数据类型来说太大的值),出现错误:

error: integer constant is too large for long type

这是因为值 100000000000 是对于 long 数据类型来说太大,编译器需要一个后缀来显式指定 long long 数据类型。要解决此问题,请在文字中添加 LL 后缀:

long long num3 = 100000000000LL;

LL 后缀表示文字应被视为 long long 值。当代码被编译和执行时,它会产生大于 10000000000 的值,这说明了 long long 数据类型的扩展范围。

以上是当“long”数据类型不足时,“LL”后缀如何能够在 C/C 中处理大整数值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn