学习Java遇到的小问题(个人学习笔记)
2012-12-11 19:37
357 查看
一。System.out.println(2.0-1.1)结果不是0.9
因为二进制中无法精确表示0.9,0.9用二进制表示是一个无限循环小数(0.11100110011001100....)。再将它转换为十进制后变成了(0.899999999999999999999)。
二。整数被0除会产生一个异常,而浮点数被0除将会得到无穷大(Infinity)或NaN的结果。
三。通过运用2的幂次方的&运算可以将其他位屏蔽掉:
int fourthBigFromRight = (n & 8) / 8;
//或者用 int fourthBigFromRight = (n & (1 << 3)) >> 3;
if(fourthBigFromRight == 1)
n的第四位为1;
因为二进制中无法精确表示0.9,0.9用二进制表示是一个无限循环小数(0.11100110011001100....)。再将它转换为十进制后变成了(0.899999999999999999999)。
二。整数被0除会产生一个异常,而浮点数被0除将会得到无穷大(Infinity)或NaN的结果。
三。通过运用2的幂次方的&运算可以将其他位屏蔽掉:
int fourthBigFromRight = (n & 8) / 8;
//或者用 int fourthBigFromRight = (n & (1 << 3)) >> 3;
if(fourthBigFromRight == 1)
n的第四位为1;
相关文章推荐
- java web开发中遇到的问题及解决方案(个人学习日志,持续更新)
- Spring学习笔记(二十一):使用阿里云OSS的javaSDK时遇到的问题(附:测试代码)
- java基础(个人学习笔记)A
- java学习笔记---Java可变参数方法重载时要注意的几个问题
- Java学习笔记--HashMap中使用object做key的问题【转】
- 【JAVA学习笔记】个人设定
- Java学习中遇到的一些问题
- java个人学习笔记07(封装+构造函数+this)
- 学习笔记之Java线程安全杂谈(中)——Java内存模型、happens-before原则和DCL问题
- Android开发学习笔记(五):关于R.java消失或无法更新的问题
- java学习个人笔记---finally模块的陷阱
- Java学习笔记 --- Java中的参数传递问题
- JAVA学习提高之----解决插入数据库时遇到的引号问题
- Java学习笔记(61)-----------40个Java集合面试问题和答案
- java入门程序100例学习笔记(004个人所得税)
- java个人学习笔记02(注释+数据类型+算术逻辑运算)
- (47)Java学习笔记——多线程 / 线程的安全问题
- [知了堂学习笔记] SSM框架项目中遇到的问题及解决办法_01
- OpenCV学习笔记(4)——VS环境下调试遇到的问题整理(不断更新……)
- Java学习中,所遇到的一些问题及解决方案