数据的存储

目录

学习目标:深度剖析数据在内存中的存储 并掉十根头发

学习内容:

学习时间:

学习产出:

(一)整形在内存的存储

1.1有符号数和无符号数

1.2原码、反码、补码

1.3 大小端介绍

1.4浮点数存储规则


学习目标:深度剖析数据在内存中的存储 并掉十根头发


学习内容:

  1. 整形在内存的存储:原码、反码、补码
  2. 大小端字节序介绍及判断
  3. 浮点型在内存中的存储解析

学习时间:

某年某月某日


学习产出:

(一)整形在内存的存储

1.1有符号数和无符号数

https://blog.csdn.net/ACE_YOUNG/article/details/125939944?spm=1001.2014.3001.5502

1.2原码、反码、补码

原码:直接将二进制按照正负数的形式翻译成二进制就可以。

反码:将原码的符号位不变,其他位依次按位取反就可以得到了。

补码:反码+1就得到补码。

三种码均由符号位和数值位组成,符号位“0”表示正,“1”表示负,而数值位有符号数和无符号数表示不同。无符号数的原码、反码、补码都相同,有符号数分为正数和负数,正数三种均相同而负数根据上述原则计算。

而对于整形来说:数据存放的是其补码,取出后会还原为原码。原因是在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。(这段话大家不懂可以用1+(-1)的例子尝试验证)

1的补码还是他本身0000 0000 0000 0001     -1的补码为1111 1111 1111 1111

相加后进一 1 0000 0000 0000 0000,而整形只能存放四个字节(32个比特位)所以第三十三位舍去最终得到0000 0000 0000 0000。

1.3 大小端介绍

详情看此文章

https://blog.csdn.net/ACE_YOUNG/article/details/120558315?spm=1001.2014.3001.5501

1.4浮点数存储规则

 举例来说:
十进制的5.0,写成二进制是101.0 ,相当于1.01×2^2 。
那么,按照上面V的格式,可以得出s=0,M=1.01,E=2。
十进制的-5.0,写成二进制是-101.0 ,相当于-1.01×2^2 。那么,s=1,M=1.01,E=2。
IEEE 754规定:
对于32位的浮点数,最高的1位是符号位s,接着的8位是指数E,剩下的23位为有效数字M。

 对于64位的浮点数,最高的1位是符号位S,接着的11位是指数E,剩下的52位为有效数字M。

因为这一节内容复杂内容多,我只大概分享一部分。想要深入了解可在评论问我。

 争取每次学习都能掉十根头发,不掉头发的程序员不是好程序员。

                                                                                                         ——Ace Young

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优雅人字拖

老板大气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值