C/C++ - 基本数据类型(默认:32位操作系统)

简介: C/C++ - 基本数据类型(默认:32位操作系统)

short [int]

内存大小 2byte=16bit

数据范围 -32768~32767(即-2^15~2^15-1)


unsigned short [int]

内存大小 2byte=16bit

数据范围 0~65535(即0~2^16-1)  


int

内存大小 4byte=32bit

数据范围 -2147483648~2147483647(即-2^31~2^31-1)

备注 C语言规定:无论什么平台都要保证long型占用字节数不小于int型, int型不小于short型。


int型在不同位数操作系统中所占用的字节数不同,如果想编写可移植性好的程序,早年流行16位和32位操作系统时最好用long修饰int型,现在流行32位和64位操作系统,用int就挺多了。当然这些都看你怎么去理解它了,毕竟它 们在不同操作系统所占字节数不固定,所以各自都有其适用之处,不可定论其好坏。


unsigned int

内存大小 4byte=32bit

数据范围 0~4294967295(即0~2^32-1)  


long [int]

内存大小 4byte=32bit

数据范围 -2147483648~2147483647(即-2^31~2^31-1)

备注 short,int,long都默认为有符号型,其中 long 和 int 都占4个字节的空间大小,他们有什么区别呢?

16位操作系统:long:4字节,int:2字节

32位操作系统:long:4字节,int:4字节64位操作系统:long:8字节,int:4字节


unsigned long [int]

内存大小 4byte=32bit

数据范围 0~4294967295(即0~2^32-1)


long long [int]内存大小 8byte=64bit

数据范围 -9223372036854775808~9223372036854775807(即-2^64~2^64-1)


unsigned long long [int]内存大小 8byte=64bit

数据范围 0~18446744073709551615(即0~2^64-1)


unsigned char(byte)内存大小 1byte=8bit

数据范围 0~255(即0~2^8-1)


singned char

内存大小 1byte=8bit

数据范围 -128~127(即-2^7~2^7-1)


bool内存大小 1byte=8bit

数据范围 false or true(即0 or 1)

备注 只能取两个值false或者true;所以最小值就是:0, 最大值:1。


float内存大小 4byte=32bit

数据范围 (1.17549e-038)~(3.40282e+038)

备注 浮点数在内存中都是按科学计数法来存储的,浮点数的精度是由尾数的位数决定的,大家记住即可不必深究。


double内存大小 8byte=64bit

数据范围 (2.22507e-308)~(1.79769e+308)

备注 如何区分和使用这两个浮点类型呢,首先float和double的精度不同, float保留到小数点后面7位,而double保留到小数点后面16位,float能保证6 位有效数字,而double能保证15位有效数字,如果在不追求精度的的情况下 当然用 float比较好,节省内存,如果需要很高的精度的情况下,最好还是用 double,平时我们定义浮点型变量一般都用double,毕竟精度高,一般精度的损失是不能忽略的。


指针

内存大小 4byte=32bit    

备注 64位系统==8byte


1.// 16位编译器
char :1个字节
unsigned char :1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int:  2个字节
unsigned int : 2个字节
float:  4个字节
double:   8个字节
long:   4个字节
long long:  8个字节
unsigned long:  4个字节
// 32位编译器
char :1个字节
unsigned char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int:  4个字节
unsigned int : 4个字节
float:  4个字节
double:   8个字节
long:   4个字节
long long:  8个字节
unsigned long:  4个字节
// 64位编译器
char :1个字节
unsigned char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int:  4个字节
unsigned int : 4个字节
float:  4个字节
double:   8个字节
long:   8个字节
long long:  8个字节
unsigned long:  8个字节
目录
相关文章
|
7月前
|
存储 程序员 C++
C++数据类型
C++数据类型
53 2
|
6月前
|
Java API C++
Java JNI开发时常用数据类型与C++中数据类型转换
Java JNI开发时常用数据类型与C++中数据类型转换
214 0
|
3月前
|
存储 Linux C语言
【C++基础】数据类型详解
这篇文章详细介绍了C++中各种基本数据类型,包括整型、浮点型、字符型、字符串型和布尔型,以及它们的使用方式和范围。
24 4
|
4月前
|
C++
c++学习笔记01 基本知识与数据类型
C++学习笔记,涵盖了C++中的常量定义、数据类型、变量内存大小计算、基本数据类型(整型、实型、字符型、字符串型、布尔型)以及转义字符的使用。
47 4
|
6月前
|
存储 C++ 容器
C++一分钟之-变量与数据类型入门
【6月更文挑战第18天】**C++编程基础:变量与数据类型概览** 了解变量(存储数据的容器)和数据类型是编程入门的关键。声明变量如`int age = 25;`,注意初始化和类型匹配。基本数据类型包括整型(int等)、浮点型(float、double)、字符型(char)和布尔型(bool)。理解类型范围和精度,使用字面量后缀增强可读性。深入学习数组、指针、结构体和类,以及动态内存管理,避免数组越界和内存泄漏。不断实践以巩固理论知识。
45 1
|
6月前
|
数据安全/隐私保护 C++
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。
|
5月前
|
存储 编译器 C++
|
7月前
|
安全 Java 编译器
long类型在32位操作系统上的安全问题
long类型在32位操作系统上的安全问题
179 1
|
6月前
|
C语言 C++
技术经验分享:c++中的数据类型转换
技术经验分享:c++中的数据类型转换
29 0
|
6月前
|
C++
C++数据类型
C++数据类型