【发布时间】:2011-11-08 22:04:38
【问题描述】:
制作 long 64 位并保留 long long 直到 128 位数字成为现实不是更有意义吗?
【问题讨论】:
-
两件事:首先,long long 不一定是 64 位。其次,不是建议它是 128 位宽同样狭隘吗?我们应该为 1024 位硬件的普及做准备,对吧?
-
实际上“C 编译器”不指定
long是 32 位,int不是 32 位,long long也是 64 位。这一切都在很大程度上取决于编译器......所以你的问题是基于一个错误的前提。 -
他们终于在 C99 中做到了:en.wikipedia.org/wiki/Stdint.h
-
@seljuq70:
long long不能被“保留”,因为 C99 标准保证了它的存在。在具有 16 位int、32 位long和 64 位long long的 16 位系统上,它们都会有所不同,但就台式机而言,那些日子已经一去不复返了。我们不会坚持使用 16 位int,以免我们觉得中间某处存在冗余类型。 -
@Eugene - 关于为什么不是所有东西都被标准修复的另一个讨论,请参阅这个问题Exotic-architectures-the-standard-committee-cares-about
标签: c 32bit-64bit long-integer bit long-long