一、数据类型
数据分为两类:
1.整型
2.浮点型
二、常见使用的数据类型(这里讲的为有符号数)
1.整型
char 字符型,在计算机中占用一个字节(一个字节=8位)
shrot 短整型,在计算机中占用两个字节
int 整型,在计算机中占用四个字节
long 长整型,在计算机中用占四个字节
longlong 更长的整型,在计算机中占用八个字节
该图为int a=10在内存中的实际存储
但与我们讨论的有相同但又有不同,这是为什么呢?
实际上存储模式的问题。
存储模式:
1.大端模式:
是指数据的低位保存在内存的高地址中,数据的高位保存在内存的低地址中。
2.小端模式:
是指数据的低位保存在内存的低地址中,数据的高位保存在内存的高地址中。
由上述可知,在VS2018中数据采用的是小端存储。
具体的存储方式与编译器有关。
2.浮点数
float 单精度浮点数,占用4个字节
double 双精度浮点数,占用8个字节
根据国际标准规定, 浮点数的表示方式如下:
接下来,我们可以看一个例子:
例如:5.5
二进制表示:101.1 1.011*2^2
所以:S=0,E=2,M=1.011
IEEE规定,在计算机内部保存M时,默认第一位是1,所以1就会被舍去,可以保存24位有小数字。即M中为01100000000000000000000。
至于E,E为一个无符号的整数。但是E在计算时,可正可负。所以,IEEE规定,对于32位浮点数,在原有的真实值上加上127。对于64位浮点数,在原有的真实值上加上1023。即E为2+127=129,二进制表示为10000001。
0100 0000 1011 0000 0000 0000 0000 0000
4 0 b 0 0 0 0 0
采用小端存法,即上图所示。
但仍存有特殊情况,即:
1、E全为1
表示无穷大
2、E全为0
接近0很小的数字
3、E不全为0或者不全为1
三、无符号数
1.整型
unsigned char 无符号字符型,在计算机中占用一个字节(一个字节=8位)
unsigned shrot 无符号短整型,在计算机中占用两个字节
unsigned int 无符号整型,在计算机中占用四个字节
unsigned long 无符号长整型,在计算机中用占四个字节
unsigned longlong 无符号更长的整型,在计算机中占用八个字节
该图为unsigned int的表示范围。但存入的值超出范围时,会截断。
例如: unsigned char a=300;
a: 100101100
00000000 00000000 00000001 00101100
截断:00101100
所以,a:44 0x2c
char 占一个字节
好啦,本期内容到此为止。我们以后见!