数据在计算机中的存储

一、数据类型

数据分为两类:

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 占一个字节

 

 好啦,本期内容到此为止。我们以后见!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值