数据存储那些事3

Part1:

有无符号 运算 Sleep(haomiao)(windows.h)for unsigned 循环变号

字符’\0’

有无符号的运算和正常的运算相同,用补码解决了这个问题,使得加减统一。只要不是负数,有无符号,在计算过程中只考虑范围问题和输出形式问题即可。

Sleep()休眠函数,使程序停止,输入一个整型代表毫秒,在Windows头文件中。

循环变号,在一个数据类型中,不论输入多大的数,其值会在该类型的范围内。如11111111+1=00000000,开始循环。

字符‘’\0’在定义char中用=号赋值会自动在后边补一个,如果对其元素一个一个赋值,则不会自动补上,这个时候用strlen()函数,会得到一个随机值。

Part2:

浮点型 %lf 科学计数 -1*s*M*2^E 1 8 23  1 11 52  E负数 中间值 取出E

存储值 真实值 E为全零  E为全1

我们之前说过,用0101010……来存放所有的数据,规则不同表示不同的数据类型,这些规如何制定,不是现在要讨论的。浮点型同样如此,其规则为-1*S*M*2^E,其中来表示正负,1为负,0为正。M是有效数据,E为指数大小。如3.5用二进制表示为11.1,科学计数法为1.11*10^1;则S=0;M=1.11,E=1.知道这三个数据就可以把它存放到内存中了。32位中(float)用第一位来表示S,后八位表示E,由于E可能为负,所以加了一个中间值2^7-1(127),在我们存放时由真实值加上中间值就为存储值。M的形式一定要是1,xxxx…,由于所有的M开头都是1,所以在存放时省略了。存放时的问题解决了,取出还有一些要注意的地方。

注意放进去我们对M和E做了一些操作,取出时要反过来,这其中有两个特例:

E全为零,这个时候真实E为-127,是一个很小的值,所以我们直接规定E为1-中间值,而M取出时不再补1,而是补0。

E为全1,这个时候真实E为128,这个时候表示无穷大。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值