首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在64位数据模型上指定64位无符号整数文字

在64位数据模型上指定64位无符号整数文字
EN

Stack Overflow用户
提问于 2012-10-31 20:58:09
回答 4查看 47.1K关注 0票数 32

由于存在各种类型的64位数据模型(LLP64/IL32P64、LP64/I32LP64、ILP64、SILP64),那么指定64位无符号整数文字的标准一致性方法是什么?

指定ULL的后缀就足够了吗?或者我最终会导致文字在某些数据模型上被解释为128位?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-10-31 21:53:26

你应该使用 / ,如果你有的话。这将为您提供:

  • uint64_t是64位的无符号整数类型size
  • UINT64_C()是一个宏用来创建uint64_t类型的常量,方法是使宏附加适当的后缀。
票数 42
EN

Stack Overflow用户

发布于 2012-10-31 21:27:00

据我所知,没有办法将整型文字作为后缀添加到特定的位宽;您唯一的选择是l、ul、ll和ull。

如果你是偏执狂,你将不得不把你的文字包装在一个#if中,检查long / long long的大小。

话又说回来,正如KennyTM上面指出的,只要你的文字在64位范围内,并赋予一个64位的值,那么文字本身是64位还是128位并没有多大关系,不是吗?

票数 2
EN

Stack Overflow用户

发布于 2012-10-31 21:42:42

在大多数情况下,这都无关紧要。如果你不给它一个后缀,整型文字的类型是由它的值决定的。如果编译器有一个32位的unsigned long和一个64位的unsigned long long,如果一个无符号的值太大而无法放入unsigned long,但对于unsigned long long来说又不是太大,那么它的类型将是unsigned long long

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13158501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档