目录
前言
本篇博客对上周所学的的关于数据存储有关知识点进行总结。
一、数据类型
1.类型的意义
(1)使用该类型开辟的内存大小。(决定了使用范围)
(2)如何看待内存空间的视角(决定了计算机在读取时读取几个字节)
2.类型的分类
char short int long float double 以及对应的无符号类型。
注:(1)char short int long存储的都是整数;char存储的是ascii值。
(2)void修饰函数返回值类型以及函数参数。
(3)指针类型:char*、int*.....
本周主要学习了整型和浮点型数据的存储。
二、字节序
1.概念
cpu对内存中的数据以字节为单位进行存储的数据。
2.高低地址与高低位
(1)一个数据的二进制有高低位之分。
(2)内存有高低地址之分。
3.字节序的分类
(1)大端
低地址存高位
(2)小端
低地址存低位
4.cpu架构
主机字节取决于cpu架构
x86为小端
MIPS为大端
5.字节序存储针对数据
存储单元大于一个字节的数据类型:shot,int long float,double
不针对字符数组
三、整型存储
1.二进制存储
在内存中数据都是以二进制存储。
(1)原码:数据直接转换的二进制。
(2)反码:符号位不变原码取反。
(3)补码:反码加一
eg. -1
原码:10000001
反码:11111110
补码:11111111
整数在内存中是以补码形式存储
正数和无符号数原反补是一样的,都是原码的值。
四、浮点型存储
1.二进制转化
(1)整数
除二取整
(2)小数
乘二取余
2.浮点数
小数在内存中存储是以浮点形式存储
(1)eg. 5.25==>1.0101*2^2(小数点移动到第一个1后面)
S-符号位 占一个比特位(0-正 1-负数)
E-阶码位(指数位) 占8个比特位 (2)
M-尾数位 占23个比特位 (1.0101)
真正指数位存储的数据为真实值+127
(2)特殊情况
E为全0:真实指数值为1-127=-126,M表示真实值,通常用于表示正负0。
E为全1:这时候真实指数值是225-127+128,M为全0时表示正负无穷大。
总结
以上就是今天介绍的关于c语言字节序、整型存储、浮点型存储有关的知识点。