原理,穷举生成N-1位定点二进制小数(第N位为1),然后转换成十进制的就行了。

import java.util.Scanner;

public class GetDecimal {

static Vector record = null;

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("输入n,输出n位可被浮点数精确表示的小数");

int len = sc.nextInt();

if (len == 1)

System.out.println(0.5);

else

f(len - 1);

}

public static void f(int len) {

double dec = 0;

int max = (int) Math.pow(2, len) - 1;

for (int i = 0; i <= max; i++) {

dec = getSum(getBinString(i, len) + "1");

System.out.println(dec);

}

}

// 转换成二进制字符串

public static String getBinString(int i, int len) {

StringBuffer str = new StringBuffer(Integer.toString(i, 2));

for (int j = 0; str.length() != len; j++) {

str.insert(0, "0");

}

return str.toString();

}

// 计算值

public static double getSum(String s) {

double sum = 0;

for (int i = 0; i < s.length(); i++) {

if (s.charAt(i) == '1') {

sum += Math.pow(2, -(i + 1));

}

}

return sum;

}

}

java精确浮点型小数,java练习 计算n位可被浮点数精确表示的小数相关推荐

  1. Java中使用BigDecimal进行浮点数精确计算 超大整数 浮点数等计算,没有数位限制...

    (注:前面写了一个超大整数相加的类,参见: 超大整数相加,超过了long的范围,你要怎么做!,后来有朋友评论说BigDecimal可以完全实现我的这这个功能,刚开始的时候,我还不服气,据我所知那里有这 ...

  2. Java中使用BigDecimal进行浮点数精确计算 超大整数 浮点数等计算 没有数位限制

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! (注:前 ...

  3. 第二章 Java浮点数精确计算

    1.实际意义 在实际开发中,如果需要进行float或double的精确计算(尤其是财务计算),直接使用float或double是不行的(具体的例子看下边的代码的main方法的测试结果),需要使用Big ...

  4. java 不四舍五入 保留,java保留两位小数(不四舍五入)

    这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    d ...

  5. java浮点运算很难,java浮点型为什么不能用于严格要求精度的运算

    大家都知道一个事实在java中2.0-1.1 使用浮点数运算的结果是0.89999999而不是我们期望的0.9.一般业务环境中,这似乎不是一个大问题,但是如果运用到银行系统,精密产品制造领域的自动化控 ...

  6. java.math.BigDecimal的用法-商业计算

    如果我们编译运行下面这个程序会看到什么? public class test{      public static void main(String [] args){          Syste ...

  7. 基于java的简单英雄联盟胜率计算

    基于java的简单英雄联盟胜率计算 首先声明,楼主是一个LOLer,技术还说的过去.今天下午楼主的同学看到楼主匹配胜率感人,非说楼主是"小学生",非说匹配胜率要50%以上才算不坑, ...

  8. java后端实现加减乘除和比例计算

    java后端实现加减乘除和比例计算 在 java.math 包中提供了 API 类 BigDecimal 用来对超过 16位有效位的数进行精确的运算. BigDecimal 所创建的是对象,所以不能使 ...

  9. java计算胜率_基于java的简单英雄联盟胜率计算

    基于java的简单英雄联盟胜率计算 首先声明,楼主是一个LOLer,技术还说的过去.今天下午楼主的同学看到楼主匹配胜率感人,非说楼主是"小学生",非说匹配胜率要50%以上才算不坑, ...

最新文章

  1. JavaEE进阶知识学习-----SpringCloud(四)Eureka集群配置
  2. 好的开始是成功的一半:网页优化之标题篇
  3. 解决java.lang.UnsupportedClassVersionError: Bad version number in .class file问题
  4. RSS接触 - 实战RSS文档输出
  5. 入门 | 32 个常用 Python 实现
  6. 941. 有效的山脉数组
  7. day48 Pyhton 数据库Mysql 05
  8. 内蒙古自治区赤峰市谷歌高清卫星地图下载(百度网盘离线包下载)
  9. 大学生计算机vfp,计算机vfp教学课件
  10. 写在控制层的VO是什么?
  11. labview 霍夫曼树_Huffman tree(赫夫曼树、霍夫曼树、哈夫曼树、最优二叉树)
  12. mysql ix is_关于MySQL中的共享锁(S)、排它锁(X)、意向共享锁(IS)、意向排它锁(IX)...
  13. oracle双活什么意思,什么是双活数据中心
  14. BAT、华为、头条等各大互联网公司职级、薪资、股权大揭秘
  15. xampp php搭建失败,ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败),thinkphpxampp...
  16. My blog has been migrated to GitHub.
  17. 职场遭遇“小人”,你如何应对?
  18. linux里hba状态_Linux更换HBA卡后重新扫盘指令
  19. 小生意汽车配件销售管理软件选型
  20. 第六届蓝桥杯大赛个人赛决赛(C/C++大学B组)

热门文章

  1. 数据库笔记1:数据库基本语句
  2. ubuntu root下的无密码登陆
  3. 最大子段和问题分析和总结
  4. 视频编解码的理论和实践2:Ffmpeg视频编解码
  5. MYSQL远程连接数据库
  6. oracle 实现基于函数的索引
  7. XAMPP 相关设置(linux下的)
  8. bp神经网络应用实例_人工智能BP神经网络学习神器——AISPACE
  9. 基于matlab_simulink的捷联惯性导航系统仿真,基于MATLAB/Simulink的捷联惯性导航系统仿真...
  10. python读取指定行的txt_【Python】读取txt文件,获取指定行中指定位置数据