gpt4 book ai didi

c++ - 'long long int' 被解释为 'long int' 。我该如何解决这个问题?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:13 25 4
gpt4 key购买 nike

我正在为我的大学数学类(class)做一个涉及 C 语言编程的项目。我需要能够处理比可以存储在“long int”数据类型中的大整数更大的整数。所以我尝试使用“long long int”,但如果我尝试这样的事情:

long long int number;
number = 10000000000;

然后错误消息显示'错误:整数常量对于“长”类型来说太大'

我已经尝试过其他数据类型,例如“___int64”和“int_64t”我已经尝试过包括所有标准 c 库,但我仍然遇到同样的问题。

奇怪的是,当我尝试 'printf("LLONG_MAX = %lld\n", LLONG_MAX);' 时,我得到了这个:

LLONG_MAX = -1

我在 windows xp 上使用 Codeblocks 8.02,但我不确定安装了哪个版本的 gcc 编译器,因为我在校园内使用网络计算机并且我没有访问主文件系统的权限。我不想每天都带着我的笔记本电脑进入校园。请帮忙!谢谢

最佳答案

当编译器编译您的 C 文件并遇到整数或浮点常量时,它需要为其分配一个类型。它会隐式地为你选择一个默认类型。您可以通过为编译器提供整数后缀 来显式设置类型。整数后缀可以告诉编译器它是否很长,long long,或无符号类型。

  • 10 是隐含的有符号整数
  • 10u, 10U 明确是一个无符号整数
  • 10l, 10L 明确是一个带符号的长整数
  • win32 上的 10ll、10LL 或 10i64 明确是有符号长整数
  • 10ull 明确是一个 unsigned long long

浮点类型也有这种情况。类型可以是 float 、 double 或长双。浮点类型通常默认为 double 。

  • 10.0 是隐含的双数
  • 10.0f 或 10.0F 明确是一个 float
  • 10.0l 或 10.0L 显然是一个 long double

关于c++ - 'long long int' 被解释为 'long int' 。我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2418170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com