【发布时间】:2012-02-07 15:42:11
【问题描述】:
我系统中 long int 的当前大小是 4 个字节。有可能增加它的尺寸吗?如果无法处理我们需要具有指定字节大小的整数数据类型的情况。应用包括阶乘、排列、组合等。
【问题讨论】:
-
感谢大家提出替代方法。但我想探索如何定义自己的数据类型。
我系统中 long int 的当前大小是 4 个字节。有可能增加它的尺寸吗?如果无法处理我们需要具有指定字节大小的整数数据类型的情况。应用包括阶乘、排列、组合等。
【问题讨论】:
如何处理需要整数数据类型的情况 指定字节大小
使用stdint.h 类型,如uint24_t、uint32_t、uint64_t 等。
【讨论】:
stdint.h,也许inttypes.h。
stdint.h 是 C 语言的一部分,除非您使用的 C 编译器已经过时超过 13 年。
uint24_t这样的东西吗?
您可能会发现long long int 大于 4 个字节。由于 CPU 的工作方式,编译器会限制整数类型的大小。
对于任意大小的整数,您必须使用特殊的“bignum”库,例如GMP。您可以在此处找到有关该主题的更多信息:http://en.wikipedia.org/wiki/Bignum
【讨论】:
在几乎每个系统上,long long 都是 8 个字节(64 位)。
【讨论】:
long long(可能在嵌入式系统上除外)。