十六进制数前面2个 LL 定义定义是什么意思?

zhiji 2013-12-13 05:57:45
const UI64 rc[R+1] = {
LL(0x0000000000000000),
LL(0x1823c6e887b8014f),
LL(0x36a6d2f5796f9152),
LL(0x60bc9b8ea30c7b35),
LL(0x1de0d7c22e4bfe57),
LL(0x157737e59ff04ada),
LL(0x58c9290ab1a06b85),
LL(0xbd5d10f4cb3e0567),
LL(0xe427418ba77d95d8),
LL(0xfbee7c66dd17479e),
LL(0xca2dbf07ad5a8333),
};

GCC 编译报错!
...全文
602 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-12-16
  • 打赏
  • 举报
回复
grep -r "#define LL" *.h *.c *.cpp
5t4rk 2013-12-16
  • 打赏
  • 举报
回复
图灵狗 2013-12-15
  • 打赏
  • 举报
回复
1、UI64类型可以这样定义,typedef unsigned long long UI64 2、LL宏可以这样定义,#define LL(x) x##LL 3、ULL宏可以这样定义,#define ULL(x) x##ULL 4、这样应该用ULL无符号的64位整数才对 5、可能作者是在C99之前编译器所写的,故自己定义LL和ULL宏

ISO C99 supports data types for integers that are at least 64 bits wide, and as an extension GCC supports them in C90 mode and in C++. Simply write long long int for a signed integer, or unsigned long long int for an unsigned integer. To make an integer constant of type long long int, add the suffix ‘LL’ to the integer. To make an integer constant of type unsigned long long int, add the suffix ‘ULL’ to the integer.
引用 楼主 zhiji 的回复:
const UI64 rc[R+1] = { LL(0x0000000000000000), LL(0x1823c6e887b8014f), LL(0x36a6d2f5796f9152), LL(0x60bc9b8ea30c7b35), LL(0x1de0d7c22e4bfe57), LL(0x157737e59ff04ada), LL(0x58c9290ab1a06b85), LL(0xbd5d10f4cb3e0567), LL(0xe427418ba77d95d8), LL(0xfbee7c66dd17479e), LL(0xca2dbf07ad5a8333), }; GCC 编译报错!
沙尘暗影 2013-12-15
  • 打赏
  • 举报
回复
看UI64这个名字,LL应该是unsigned long long的意思
我爱CPP 2013-12-15
  • 打赏
  • 举报
回复
long long 应该用宏定义了。
a_mu_lol 2013-12-15
  • 打赏
  • 举报
回复
回这种帖子的都是来刷分的
max_min_ 2013-12-13
  • 打赏
  • 举报
回复
报的什么错误呢?错误贴出来,结合代码可能会比较明显想要表达什么意思
zhaokai115 2013-12-13
  • 打赏
  • 举报
回复
引用 3 楼 u012908616 的回复:
楼主真懒, 都知道GCC报错了,却不发错误信息,叫人猜。 大概应该是 #define LL(x) x##ll。 但话说这样未免过于无聊了,而且按理应该是ULL才对
这个正解,同意
#define LL(x) x##ll
#define ULL(x) x##ull
Todd_Pointer 2013-12-13
  • 打赏
  • 举报
回复
楼主真懒, 都知道GCC报错了,却不发错误信息,叫人猜。 大概应该是 #define LL(x) x##ll。 但话说这样未免过于无聊了,而且按理应该是ULL才对
worldy 2013-12-13
  • 打赏
  • 举报
回复
long long或者unsigned long long LZ必须了解原来程序是怎么定义的,定义不正确可能运行会出错
zhxianbin 2013-12-13
  • 打赏
  • 举报
回复
应该是 long long 的意思,需要自己加一个宏定义
#define LL (long long)

65,198

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧