目录
数据类型介绍
char——字符数据类型
short——短整型
int——整型
long——长整型
long long——长长整型
float——单精度浮点数
double——双精度浮点型
整型
整型的取值范围定义在limits.h
整数在计算机中分为符号位和数值位
整型分类
char
【unsight char、signed char】
short
【unsight short[int]、signed short[int]】
int
【unsight int、signed int】
long
【unsight long[int]、signed [int]】
整型在内存中的存储:原码、反码、补码
计算机中的有符号数有三种表示方法,即原码、反码、补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示正,用1表示负,而数值位三种表示方法各不相同。
数据在内存中以二进制形式存储,对整数来说,整数在的二进制表示有三种形式:原码、反码、补码。对正整数来说,这三码相同,对负整数来说,得到这三个码需要进行计算。
原码——按照数据的数值直接写出二进制序列(负数二进制最高位(符号位)为1);
反码——符号位不变,其他位按位取反;
补码——反码+1;
注意:整数在内存中存的是补码。
大小端介绍
大端字节序:
一个数据,把它的低位字节序的内容存放在高地址处,高位字节序的内容存放在低地址处
小端字节序:
一个数据,把它的高位字节序的内容存放在高地址处,低位字节序的内容存放在低地址处
浮点型
浮点数表示的范围定义在float.h中
浮点型分类
float 单精度
double 双精度
long double
浮点型的二进制
二进制浮点数在计算机中表示为符号位、指数部分、小数部分。它的标准形式为:
对于float类型,
二进制转十进制:
十进制转二进制
整数部分使用短除法
小数部分:
把每一步得数的整数部分从上往下取得,就是二进制的小数部分。所以,11.625对应的二进制数为1110.101。
注意:部分十进制数没法用有限二进制数表示,比如0.9。
与十进制类似,二进制也可以使用科学计数法,不过是以2为底数
补充
构造类型(自定义类型)
数组
enum 枚举
union 联合体
struct 结构体类型
指针类型
int* p;
char* p;
float* p;
void* p;
空类型
void表示空类型(无类型)
函数返回类型 void test()
函数参数 void test(void)
指针 void* p