数据存储

数据类型

在这里插入图片描述
数字的存储
计算机对数字的表示方法:
1.浮点
2.定点

对于整数而言,定点和浮点都可以表示一个整数,

表示法

1. 无符号表示法

=>表示范围

对于整数而言,无符号表示法他可以表示的范围为0到无穷大,但是由于计算机能表示的范围有限,因此,计算机都定义了一个最大无符号整数的常量(称为: 最大无符号整数 => 2^n-1 其中,n为计算机表示无符号数的二进制位数),即: 范围为 0 ~ 2^n-1

2. 符号加绝对值表示法

符号加决对值表示法一般不用于存储整数,更多的应用于实数的存储。

=>表示范围

对于整数而言,它表示的范围分为两个部分0 ~ (2^(n-1)-1) 和 -0 ~ -(2^(n-1)-1),它与常规的关于正负数不同,它的负数出现在正数的右边,因此,存在着 +0(0000) 和 -0(1000)(在此次中参考的是4个bit位),
在这里插入图片描述

3. 二进制补码表示法

二进制补码表示法是最常用的,几乎所有的计算机都是用它来存储。
在二进制的补码表示法中,其最左的bit位是符号位,其位上的数表示的意义为
0 => 非负数
1 => 负数

=>表示范围

对于整数而言,它表示的范围为-(2^(n-1) ~ 0) 和 0 ~ 2^(n-1)-1
如:
对于4bit的数,他的表示范围为 -8 ~7,如图所示:
在这里插入图片描述

=>运算

反码的运算
反码就是把数的每个bit位反转(即:0反转为1,1反转为0),如果想把反码变为原码,只需要将反码再次反转,即可得到原码。
如:
原码 0001 0101
反码 1110 1010
反转 0001 0101

补码的运算
1.从原码的最右边的bit位开始复制,直到遇到第一个1,然后反转1后面的每个bit位,(如需要从补码得到原码,只需要再次对其补码)
如:
原码 0101 0111
补码 1010 1001
补码 0101 0111
2.先对原码进行一次反码运算,然后,在加上1
如:
原码 0101 0111
反码 1010 1000
+1
补码 1010 1001

在计算机以二进制补码格式存储整数,如果整数为非负数,则按其原码存储,若为负数,则按其补码方式存储。

4 浮点表示法

用于维持正确度或精度的解决方法。该表示法允许小数点浮动,它是由3个部分组成的

  1. 符号
  2. 位移量
  3. 定点数

浮点表示法在科学中可以表示很大的或很小的的十进制数,在科学记数法中,定点部分在小数点左边且只有一个数码而且位移量是10的幂次。
如: 十进制数865 300 000 000 000
其科学计数法表示为: + 8.653 * 1021
其中,符号(+) 、位移量(21)、定点部分(8.653)
如: 二进制数-(0.000001101)2
浮点表示法 表示为: - 1.101 * 2 -6

规范化
为了使表示法的固定部分同一,科学计数法(用于十进制)和浮点表示法(用于二进制),都在小数点左边使用了唯一的非零数码,这就是规范化。
其中,
十进制系统中的数码可能是1 ~9
二进制系统中的数码为1
十进制 => d.xxxx 注意:d是1~9 ,x是0~9
二进制 => 1.yyyy 注意:y是0或1

符号、指数和尾数
在二进制数规范化之后,我们只需要存储该数的3个部分信息:符号 、指数和尾数(小数点右边的位)
如:+1010001.101
+ 2^6^ * 1.010001101
+ 6 010001101
符号(+) 指数(6) 尾数(010001101)
注意:小数点和定点部分的左边的位1并没有存储,他们是隐含的。
符号:
指数:定义位小数点移动的位数,幂可正可负
尾数:指小数点右边的二进制数,他定义了该数的精度。注意:如果在尾数的右边插入多余的零,这个值将会改变,即精度发生变化。
余码系统
尾数可以作为无符号数存储。指数(即显示多少位小数点应该左移或右移的 次)是有符号的数。尽管这可以用二进制补码表示法来存储,但被一种称为余码系统的新的表示法取而代之。
在该余码系统中,正的和负的整数都可以作为无符号数存储。为了表示正的或负的整数,将正整数(称为一个偏移量)添加到每个数字中,将它们统一移到非负的一边。这个 偏移量的值是2m-1-1, m是内存单元存储指数的大小。
如:
我们可以用4位存储单元在数字系统中表示16个整数。使用一个单元作为0,分开其他15个(不等地)我们可以在-7到8的范围中表示整数,如图所示。在该范围中增加 7个单位到每个整数中,可以统一把所有整数向右移,使其均为整数而无需改变这些整数的相对位置,避免了相互调整,如图所示。新系统称为余7码,或者偏移量为7的偏移表示法。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值