将十进制小数转化为二进制小数

将十进制小数转化为二进制小数小数表示原理你了解小数的表示原理吗?我的十进制小数换成二进制该如何表示?比如:0.3的二进制表示为:0.0100110011001….(小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分0为止,将整数顺序排列。0.8125×2=1.625取整1,小数部分是0.6250.625×2=1.25取整1,小数部分是0.250.25×2=0.5取整0,小

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
小数表示原理

你了解小数的表示原理吗?

我的十进制小数换成二进制该如何表示?

比如:0.3 的二进制表示为:0.0100110011001….

(小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分0为止,将整数顺序排列。

0.8125×2=1.625 取整1,小数部分是0.625

0.625×2=1.25 取整1,小数部分是0.25

0.25×2=0.5 取整0,小数部分是0.5

0.5×2=1.0 取整1,小数部分是0,结束

所以0.8125的二进制是0.1101)

import java.math.BigDecimal;
import java.util.Scanner;

public class H4 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		String input = scanner.nextLine();
		BigDecimal num = BigDecimal.valueOf(Double.parseDouble(input));
		String output="";
		trans(num,output);
	}
	public static void trans(BigDecimal num,String output) {
		num = num.multiply(BigDecimal.valueOf(2));
		String tmp = num.toString().substring(0, 1);//取小数点前一位
		output +=tmp;
		num=num.subtract(BigDecimal.valueOf(Double.parseDouble(tmp)));
		if(num.compareTo(BigDecimal.ZERO)==0||output.length()==10) {//如果num=0或者小数点后有10位就停止递归
			System.out.println("0."+output);
			return;
		}
		trans(num,output);
	}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189801.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月8日 下午2:15
下一篇 2026年3月8日 下午2:43


相关推荐

  • 数据结构与算法——栈和队列

    数据结构与算法——栈和队列栈和队列是两种重要的线性结构 本篇文章详细总结了数据结构与算法中栈和队列的终点知识 并且结合代码片段实现其基本操作 干货满满 每一句话都是重点 希望能给更多的小伙伴在学习数据结构与算法时带来一定帮助

    2025年11月21日
    4
  • 解决问题__Visual Studio 光标变成方块

    解决问题__Visual Studio 光标变成方块

    2022年3月13日
    54
  • idea 2021.5 在那输入激活码(最新序列号破解)

    idea 2021.5 在那输入激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    99
  • KOBAS 3.0学习

    KOBAS 3.0学习在线通路注释 一般使用 DAVID KASS KOBAS 等工具 Kobas KOBAS 基于 KEGGOrtholog 是用于基因 蛋白质功能注释 注释模块 和功能集富集 Enrichmentmo 的 Web 服务器 给定一组基因或蛋白质 它可以确定通路 疾病和基因本体论 GO 术语是否显示统计学显着性 KOBAS3 0 由两个功能

    2026年3月19日
    2
  • java switch条件_Java switch 条件语句用法详解[通俗易懂]

    java switch条件_Java switch 条件语句用法详解[通俗易懂]首页>基础教程>循环条件语句>条件语句switchJavaswitch条件语句用法详解switchcase语句在很多编程语言中的功能都是等于条件判断,java中为多路分支选择流程专门提供了switch语句,switch语句根据多个表达式的值,选择运行多个操作中的一个。当需要对选项进行等值判断时,使用switch语句更加简洁明了。switch的case语句可以处…

    2022年7月14日
    53
  • mysql远程连接及用户相关命令

    一、创建用户并授权登录root:root@localhost:~#mysql-uroot-p创建username(用户)使用password(密码)从任何主机连接到mysql服务器:mysql>GRANTALLPRIVILEGESON*.*TO’username’@’%’IDENTIFIEDBY’password’WITHGRANTO…

    2022年4月6日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号