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

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

DDD
发布: 2024-11-07 10:28:03
原创
1001 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板