C++ Day1

C++ Day1

整型数据大小

c++提供了一种灵活的标准,确保了最小长度,如下:

  • ***short *** 至少16位(2字节);
  • int 至少与short一样长;
  • long 至少32位(4字节),且至少与int一样长;
  • long long 至少64位(8字节),且至少与 long 一样长。

即:2byte ≤ short ≤ int ≤ 4byte ≤ long ≤ 8byte ≤ long long

不同平台下C\C++数值数据类型长度如下:(byte)

类型 win32 win64 linux32 linux64
char 1 1 1 1
short 2 2 2 2
int 4 4 4 4
long 4 4 4 8
long long 8 8 8 8
float 4 4 4 4
double 8 8 8 8
void* 4 8 4 8

在程序中获取整型的最大值

头文件climits中包含了一下限制:

··· 范围
char 的位数 CHAR_BIT
char CHAR_MIN ~ CHAR_MAX
signed char SCHAR_MIN ~ SCHAR_MAX
unsigned char 0 ~ UCHAR_MAX
short SHRT_MIN ~ SHRT_MAX
unsigned short 0 ~ USHRT_MAX
int INT_MIN ~ INT_MAX
unsigned int 0 ~ UNIT_MAX
long LONG_MIN ~ LONG_MAX
unsigned long 0 ~ ULONG_MAX
long long LLONG_MIN ~ LLONG_MAX
unsigned long long 0 ~ ULLONG_MAX

注:char、signed char、unsigned char的区别:

char可能是signed char,也可能是unsigned char,取决于编译器。

可以利用一下代码查看char的类型:

#include<stdio.h>
int main(){
	char a=-1;
	signed char b=-1;
	unsigned char c=-1;
	printf("%d %d %d\n",a,b,c);
	return 0;
}
posted @ 2020-08-31 18:26  周小可  阅读(54)  评论(0)    收藏  举报