博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重新认识java-被忽视的数值转化
阅读量:6890 次
发布时间:2019-06-27

本文共 444 字,大约阅读时间需要 1 分钟。

hot3.png

被忽视的数值转化

场景1 [float faa=1111111111111111111;] 编译器会先把1111111111111111111转化为整形 超位了 正确的应该是 [float faa=1111111111111111111L;]

场景2 int a = 10_0000_0000;

int b=20;
float total = a*b; 返回负数 因为a*b会按照整数计算再把计算结果交给total。 正确的应该这样float total = (float)a*b;

场景3 int和long 转化为float时会损失精度 long转化为double时会损失精度 但是int转化为double不会损失精度

      因为
            float:
            1bit(符号位) 8bits(指数位) 23bits(尾数位)
            double:
            1bit(符号位) 11bits(指数位) 52bits(尾数位)
 

转载于:https://my.oschina.net/dajianguo/blog/834309

你可能感兴趣的文章
CoreAnimation
查看>>
JS基础属性跟运算
查看>>
通过类创建子线程&同步锁
查看>>
编程珠玑:单词频率最高选取
查看>>
几乎所有编程语言的hello, world程序(3)
查看>>
CentOs 设置静态IP 方法
查看>>
Ubuntu 16.04源码编译安装nginx 1.10.0
查看>>
2017"百度之星"程序设计大赛 - 资格赛-度度熊与邪恶大魔王(dp+后缀最小值)
查看>>
Node + vue 实现移动官网
查看>>
Windows上Python2.7安装Scrapy过程
查看>>
【转载】C#调用国家气象局天气预报接口
查看>>
hdu1568
查看>>
375 Inscribed Circles and Isosceles Triangles 等腰三角形 内接圆 圆周率PI表示
查看>>
apache中开启rewrite
查看>>
JQuery find方法Bug
查看>>
PAT (Advanced Level) 1108. Finding Average (20)
查看>>
[USACO5.3]窗体面积Window Area
查看>>
20、生鲜电商平台-优惠券设计与架构
查看>>
gusfield
查看>>
idea上使用maven模块开发
查看>>