【发布时间】:2014-03-20 18:01:51
【问题描述】:
我最近开始学习C。我读到gcc的整数范围是-214783648 to +2147483647。
在 CentOS 上使用 GCC。
我知道是2^32被分成两部分和0。
这是对编译器的强加限制吗?这有什么好处吗?还是我的编译器是 32 位的? (据我所知,我的电脑是 64 位的)。
如果一个人超过了这个限制,应该怎么办?
提前致谢
【问题讨论】:
-
如果您需要更大的值,请使用
long而不是int。 -
@user long 是我所在的 32 位
-
习惯使用和了解这些的大小:
std::uint8_tstd::uint16_t、std::uint32_t、std::uint64_t及其签名对应项:std::int8_t、std::int16_t、std::int32_t、std::int64_t..终于习惯了认识和使用std::size_t. -
@CantChooseUsernames 你在那里发布的内容看起来像 C++...
-
@DennisMeng 对不起。忘了这是剖腹产。尽管如此,这些类型也应该存在于 C 中。只需删除
std::并使用#include <stdint.h>:ideone.com/j6WwbP