C++中的整形字节数
短信预约 -IT技能 免费直播动态提醒
整形short、int、long、long long规定如下
short
至少16位int
至少与short一样长long
至少32位,且至少与int一样长long long
至少64位,且至少与long一样长
以64位win7系统为例
类型 | 字节数(byte) |
---|---|
char | 1 |
short | 2 |
int | 4 |
long | 4 |
long long | 8 |
32位程序整形数据类型表示的范围
(32位与64位区别在于long 和unsigned long的字节数不同)
C数据类型 | 最小值 | 最大值 |
---|---|---|
char | -128 | 127 |
unsigned char | 0 | 255 |
short | -3 2768 | 3 2767 |
unsigned short | 0 | 6 5535 |
int | -21 4748 3648 | 21 4786 3647 |
unsigned int | 0 | 42 9496 7295 |
long | -21 4748 3648 | 21 4786 3647 |
unsigned long | 0 | 42 9496 7295 |
int32_t | -21 4748 3648 | 21 4786 3647 |
uint32_t | -21 4748 3648 | 21 4786 3647 |
int64_t | -922 3372 0368 5477 5808 | 922 3372 0368 5477 5807 |
uint64_t | 0 | 1844 6744 0737 0955 1615 |
64位程序整形数据类型表示的范围
C数据类型 | 最小值 | 最大值 |
---|---|---|
char | -128 | 127 |
unsigned char | 0 | 255 |
short | -3 2768 | 3 2767 |
unsigned short | 0 | 6 5535 |
int | -21 4748 3648 | 21 4786 3647 |
unsigned int | 0 | 42 9496 7295 |
long | -922 3372 0368 5477 5808 | 922 3372 0368 5477 5807 |
unsigned long | 0 | 1844 6744 0737 0955 1615 |
int32_t | -21 4748 3648 | 21 4786 3647 |
uint32_t | -21 4748 3648 | 21 4786 3647 |
int64_t | -922 3372 0368 5477 5808 | 922 3372 0368 5477 5807 |
uint64_t | 0 | 1844 6744 0737 0955 1615 |
头文件climits定义了符号常量
如下表所示:
符号常量 | 表示 |
---|---|
CHAR_BIT | char的位数 |
CHAR_MAX | char的最大值 |
CHAR_MIN | char的最小值 |
SCHR_MAX | signed char的最大值 |
SCHAR_MIN | signed char的最小值 |
UCHAR_MAX | unsigned char的最大值 |
SHTR_MAX | short的最大值 |
SHRT_MIN | short的最小值 |
USHRT_MAX | unsigned short的最大值 |
INT_MAX | int的最大值 |
INT_MIN | int的最小值 |
UINT_MAX | unsigned int的最大值 |
LONG_MAX | long的最大值 |
LONG_MIN | long的最小值 |
ULONG_MAX | unsigned long的最大值 |
LLONG_MAX | long long的最大值 |
LLONG_MIN | long long的最小值 |
ULLONG_MAX | unsigned long long的最大值 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341