博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java练习 计算n位可被浮点数精确表示的小数
阅读量:2342 次
发布时间:2019-05-10

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

原理,穷举生成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; }}

你可能感兴趣的文章
IPTV的前世今生与发展
查看>>
x264中的汇编x86inc.asm
查看>>
X264中的sad-a.asm
查看>>
x264中的cpu-a.asm
查看>>
x264中的DCT变换 dct-a.asm
查看>>
X264的时耗分析
查看>>
H.264 Profile、Level、Encoder三张简图
查看>>
NEON指令集综述
查看>>
FFmpeg的H.264解码器源代码简单分析:概述
查看>>
linux下编译调试x264
查看>>
debug和release版本的区别
查看>>
x86 指令集发展历程
查看>>
逐行Porgressive隔行Interlaced扫描的超详细讲解
查看>>
使用FFmpeg实现抠图合并功能(chroma key)
查看>>
长宽比 (视频)
查看>>
Pan & Scan和Letterbox
查看>>
资深影迷不可不知的宽高比:Aspect Ratio 电影画面比例
查看>>
MacBook Pro 外接显示器设置竖屏
查看>>
X264的参考帧设置
查看>>
三种帧的说明
查看>>