二进制数据存储

1.计算机底层存储整数并不是把整数转化为为二进制直接存储,而是以二进制的补码形式进行存储。
源码:把十进制转化为二进制,然后最高位设置为符号位,1是负数,0是正数。
反码:正整数的反码与原码相同,负整数的反码在原码的基础上,符号位不变,其余位取反(0变1,1变0)。
补码:正整数的补码与原码相同,负整数的补码为其反码+1。
一个字节可以存储的整数范围

分为两种情况:

(1)无符号:不考虑正负数

​ 0000 0000 ~ 1111 1111 ==> 0~255

(2)有符号:-128~127

​ 0000 0000 ~ 0111 111 ==> 0~127

​ 1000 0001 ~ 1111 1111 ==> -127 ~ -1 (补码形式存储)

​ 1000 0000 ==> -128 特殊值,最高位既是符号位,又是数值位

如何存储小数(了解)

  • 为什么float(4个字节)比long(8个字节)的存储范围大?
  • 为什么double(8个字节)比float(4个字节)精度范围大?
  • 为什么float和double不精确

因为float、double底层也是二进制,先把小数转为二进制,然后把二进制表示为科学记数法,然后只保存:
①符号位②指数位③尾数位

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值