Java中float与 double的区别

float是单精度浮点类型32位,即float占用4个字节的存储空间,精度是8位有效数字,指数段有8bits,指数范围为[-127,127] 。

 2^127约等于1.7*10^38。38次方是数量级,舍去1.7。所以取值范围是10^-38到10^38。

提示:n位二进制原码和n位二进制反码:-2^(n-1)-1~+2^(n-1)-1;n位二进制补码:-2^(n-1)~+2^(n-1)-1

 

double是双精度类型,精度是17位有效数字,double占用8个字节的存储空间,取值范围是10^-308到10^308次方。

当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则必须在其后加上f。

例如:float a=1.3;则会提示不能将double转化成float这成为窄型转化。如果要用float来修饰的话,则应该使用  float a = 1.3f。

注意float是8位有效数字,第7位数字将会产生四舍五入

所以如果一个float变量这样定义:float a=1.32344435;则第7位将产生四舍五入变成1.3234444(5及5以下的都将舍去)

posted @   阿高在学习  阅读(525)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示