Java基本数据类型长度:
类型 | bit | byte | 取值范围 |
---|---|---|---|
boolean | 1位 | ||
byte | 8位 | -128~127 | |
short | 16位 | 2B | –32,768~32,767 |
char | 16位 | 2B | –32,768~32,767 |
int | 32位 | 4B | -2,147,483,648~2,147,483,647 |
float | 32位 | 4B | 3.4E +/- 38 (7 digits) |
long | 64位 | 8B | –2,147,483,648~2,147,483,647 |
double | 64位 | 8B | 1.7E +/- 308 (15 digits) |
在java语言中不存在sizeof函数,因为java中的基本数据类型大小在不同的机器系统中都是固定的。Java是一种跨平台的语言,可移植性好,它在数据类型在机器中的大小都相同。
java中替代sizeof的方式:
返回比特数:System.out.println("int所占的字符数"+Integer.SIZE);
返回字节数:System.out.println("int所占的字节数"+Integer.BYTES);
其他的数据类型分别用对应的封装类的SIZE
和BYTES
方法,
其中,1字节=8比特。
c/c++ 基本数据类型长度
数据类型 | 32位操作系统 | 64位操作系统 | 取值范围(32位) |
---|---|---|---|
bool | 1bit | 1bit | |
char | 1Byte | 1Byte | -128~127 |
unsigned char | 1Byte | 1Byte | 0~255 |
short int /short | 2Byte | 2Byte | –32,768~32,767 |
unsigned short | 2Byte | 2Byte | 0~65,535 |
int | 4Byte | 4Byte | -2,147,483,648~2,147,483,647 |
unsigned int | 4Byte | 4Byte | 0~4,294,967,295 |
long int /long | 4Byte | 8Byte | –2,147,483,648~2,147,483,647 |
unsigned long | 4Byte | 8Byte | 0~4,294,967,295 |
long long int/long long | 8Byte | 8Byte | -9,223,372,036,854,775,808 ~9,223,372,036,854,775,807 |
指针 | 4Byte | 8Byte | |
float | 4Byte | 4Byte | 3.4E +/- 38 (7 digits) |
double | 8Byte | 8Byte | 1.7E +/- 308 (15 digits) |
sizeof()函数的功能
在C语言或者C++语言中,sizeof()函数能够判断一个数据类型在系统中的长度,即返回对象或者基本数据类型或者数组所占内存的字节数。
在C语言中使用:
printf("%d",sizeof(int));
能够输出int在系统中所占的字节数
在C++语言中使用:
std::cout << sizeof(int);
能够输出int在系统中所占的字节数