目录
1.数据类型介绍
c语言中一些基本的数据类型有
char | 字符型(整数族) |
short | 短整型(整数族) |
int | 整型(整数族) |
long | 长整型(整数族) |
long long | 长长整型(整数族) |
float | 单精度浮点型(浮点族) |
double | 双精度浮点型(浮点族) |
struct | 构造类型(自定义) |
* | 指针类型(int char folat) |
而字符型在内存中存储的方式是该字符的ASCII码值,又因为ASCII码值是整数,所以字符型存储模式属于整数族。
2.整型在内存中的存储方式
在计算机中,整型和浮点型是通过二进制的方式在数据内存中存储的。
整型的二进制表示方法有三种:原码,反码,补码。
而正整数和负整数的原反补的计算方式又是不一样的。
正整数的原码,反码,补码是相同的。
负整数的原码按位取反是反码,反码+1才是补码,而计算机中存储数据则都是存储数据的补码。
最高位则表示符号位,0为正,1为负。
比如在一个32位机器上:
1的原码,反码,补码为:00000000000000000000000000000001
-1的补码为:11111111111111111111111111111111
3.大小端字节序介绍以及判断
大端字节序存储:
把一个数据的低位字节数据存放在内存的高地址处,高位字节的数据存放在内存的低地址处。
小端字节序存储:
把一个数据的高位字节放在内存的高地址处,低位字节的数据放在内存的低地址处。
比如对于0x11223344:
大端存储
低地址 | 11 | 22 | 33 | 44 | 高地址 |
小端存储
低地址 | 44 | 33 | 22 | 11 | 高地址 |
4.浮点型在内存中的存储
常见的浮点数有圆周率3.14159、1E10。浮点数包括float,double,long double
IEEE 754规定
在32位系统上
最高位为符号位,接着的8位是指数位,而剩下的23位为有效数字。
在64位系统上
最高位为符号位,接下来的11位为指数位,剩下的52位为有效数字位。