我知道这个问题已被问到很多,但我从未见过适合我需要的合适答案.我正在编写一个编译器和解释器以获得有趣的c ++,为了编写它们,我需要确保我使用的类型是8位,32位,64位等...我找到了,但是我已被警告,它可能无法在所有平台上运行.我也听说有些平台不支持这些大小的整数,但它必须是可能的,因为java设法实现这一点.不幸的是,java源代码不可用.
的<stdint.h>(<cstdint>在C++)标头包含typedefs表示服从特定尺寸:
int8_t x;
int16_t y;
int32_t z;
Run Code Online (Sandbox Code Playgroud)
如果typedef不存在,那么平台不支持它.要检查它,您有一些可用的宏INT16_MIN INT16_MAX,它们定义了指定整数的最小值和最大值,以便您可以自己查看它.