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

将十进制小数转化为二进制小数小数表示原理你了解小数的表示原理吗?我的十进制小数换成二进制该如何表示?比如: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);
	}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 微信小程序列表页面_微信发现没有小程序

    微信小程序列表页面_微信发现没有小程序尽量不要用缓存去写效果展示:点击编辑,进入编辑页第一页编辑按钮:<viewclass=”bj-btn”bindtap=”redactGroup”data-id=”{{传递的id}}”>编辑</view>redactGroup方法:options.currentTarget.dataset.前面自定义的名字redactGroup(options){letid=options.currentTarget.dataset.id;…

  • windows 显示进程的命令 TASKLIST 详解

    windows 显示进程的命令 TASKLIST 详解用jstat查看jvm内存的使用的情况时,因为是windows机器,不能使用top命令方便的查出来,进程好在网上搜了一下看到了在windows原来使用的是tasklist特意将tasklist的用法记录下来。原帖的地址是:http://hi.baidu.com/lgh_boffin/blog/item/314b1194fb957c18d21b70b6.html“Taskli

  • ubuntu14.04 安装pycharm

    ubuntu14.04 安装pycharm参考链接:http://itsfoss.com/install-pycharm-ubuntu/怎样在ubuntu14.04上安装pycharmpycharm是一款为python开发而生的IDE。它已经被专家认为是最好的pythonIDE之一。pycharm有社区版和专业版两种。社区版是免费的。但是专业版有更多的功能。我在下面的教程中展示如何安装这两种pycharm。…

  • 怎样使用pycharm创建py格式文件_课程创建是什么奖

    怎样使用pycharm创建py格式文件_课程创建是什么奖前言本系列博客用来记录学习Python课程的一些体会,预计会分主题一周一更。Pycharm软件的安装默认已经完成,如果有些同学还没有安装请自行翻阅资料,也可留言tome!谢谢!!!首先,Pycharm的安装也许会有很多这样的教程,但是对于我这样的新手,去完成自己第一个pycharm环境下的Python也许会有些茫然,故介绍创建helloworld程序的模板对于我们具有非常重要…

  • Object转Map和Map转Object(对象转map,map转对象)

    Object转Map和Map转Object(对象转map,map转对象)第一种方法:fastJosnimportcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;Object转MapFindArchiveDtofindArchiveDto=newFindArchiveDto();findArchiveDto.setContractStatus(“降龙”);…

  • java中jbpm工作流_java流程控制

    java中jbpm工作流_java流程控制1.        工作流       工作流是一项分离业务操作和系统流程的技术。工作流由实体(Entity)、参与者(Participant)、流程定义(FlowDefinition)、工作流引擎(Engine) 四部分组成。l  实体是工作流的主体,是需要随着工作流一起流动的物件(Object)。例如,在一个采购申请批准流程中,实体就是采购申请单;在公文审批流程中,实体就是公文。

发表回复

您的电子邮箱地址不会被公开。

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