基本类型比较
Java基本数据类型
类型类别 | 类型名称 | 大小(位) | 取值范围 | 默认值 |
---|---|---|---|---|
整数类型 | byte |
8 | -128 到 127 | 0 |
short |
16 | -32,768 到 32,767 | 0 | |
int |
32 | -2^31 到 2^31-1 | 0 | |
long |
64 | -2^63 到 2^63-1 | 0L | |
浮点数类型 | float |
32 | 精度约为 6-7 位十进制数 | 0.0f |
double |
64 | 精度约为 15 位十进制数 | 0.0d | |
字符类型 | char |
16 | 0 到 65,535(无符号) | |
布尔类型 | boolean |
未指定 | true 或 false |
false |
注意:
- Java的
char
类型是基于Unicode编码的,因此可以表示全球上几乎所有的字符。 - Java的基本数据类型大小是固定的,与平台无关,这有助于Java程序具有良好的可移植性。
- Java中没有表示无符号整数的基本数据类型,在需要大范围无符号数据时通常使用更大的类型或使用类库。
- 布尔类型
boolean
并没有明确指定大小,但仅能取true
或false
中的一个值。
C++基本数据类型
类型类别 | 类型名称 | 大小(至少) | 描述 |
---|---|---|---|
整型 | char |
8位 | 通常用于存储字符。根据实现可能是有符号或无符号的。 |
unsigned char |
8位 | 存储小的无符号整数或字符。 | |
signed char |
8位 | 存储小的有符号整数或字符。 | |
short |
16位 | 存储短整数。 | |
unsigned short |
16位 | 存储短无符号整数。 | |
int |
16位 | 存储整数。 | |
unsigned int |
16位 | 存储无符号整数。 | |
long |
32位 | 存储长整数。 | |
unsigned long |
32位 | 存储长无符号整数。 | |
long long |
64位 | 存储更长的整数(C++11)。 | |
unsigned long long |
64位 | 存储更长的无符号整数(C++11)。 | |
浮点数类型 | float |
实现依赖 | 单精度浮点数。 |
double |
实现依赖 | 双精度浮点数。 | |
long double |
实现依赖 | 扩展精度浮点数。 | |
布尔类型 | bool |
实现依赖 | 用于表示布尔逻辑(真或假)。 |
字符类型 | wchar_t |
实现依赖 | 宽字符类型,用于Unicode字符。 |
char16_t |
16位 | 用于表示UTF-16字符(C++11)。 | |
char32_t |
32位 | 用于表示UTF-32字符(C++11)。 | |
空类型 | void |
N/A | 表示无类型,常用于指定无返回值的函数类型。 |
固定宽度整数类型 | (例如:int8_t , uint32_t ) |
实现依赖 | 提供固定宽度的整数表示(C++11,需包含<cstdint> 头文件)。 |
请注意,所提供的大小是类型在C++标准中规定的最小大小,实际大小可能会因编译器和平台的不同而有所不同。 若要获取平台特定的大小,通常使用sizeof
运算符进行检查。