展开全部

下面是根据十进制数62616964757a686964616fe59b9ee7ad9431333365646331转二进制数的算法所写的一段Java程序示例代码:

import java.math.BigDecimal;

public class Test {

public static void main(String[] args) {

Test t = new Test();

double d = 8;

String s = t.decimal2BinaryStr(d);

System.out.println("十进制数"+d+"转成二进制数为:"+s);

}

/**

* 十进制数转二进制数

* @param d 十进制数

* @return 十进制数转换成二进制的字符串

*/

public String decimal2BinaryStr(double d){

String result = decimal2BinaryStr_Inte(d);

result += decimal2BinaryStr_Deci(d);

return result;

}

/**

* 十进制整数部分转二进制数

* @param d 十进制数

* @return 十进制整数部分转换成二进制的字符串

*/

public String decimal2BinaryStr_Inte(double d){

//      return Integer.toBinaryString((int)d);

/*

* 本来利用上面的Integer.toBinaryString(int)就可以得到整数部分的二进制结果,

* 但为了展示十进制转二进制的算法,现选择以下程序来进行转换

*/

String result = "";

long inte = (long)d;

int index = 0;

while(true){

result += inte%2;

inte = inte/2;

index++;

if(index%4 == 0){

result+=" ";

}

if(inte==0){

while(index%4!=0){

result+="0";

index++;

}

break;

}

}

char[] c = result.toCharArray();

char[] cc = new char[c.length];

for(int i=c.length; i>0; i--){

cc[cc.length-i] = c[i-1];

}

return new String(cc);

}

/**

* 十进制小数部分转二进制

* @param d 十进制数

* @return 十进制小数部分转换成二进制小数的字符串

*/

public String decimal2BinaryStr_Deci(double d){

return decimal2BinaryStr_Deci(d, 0);

}

/**

* 十进制小数部分转二进制

* @param d 十进制数

* @param scale 小数部分精确的位数

* @return 十进制小数部分转换成二进制小数的字符串

*/

public String decimal2BinaryStr_Deci(double d, int scale){

double deci = sub(d,(long)d);

if(deci==0){

return "";

}

//为了防止程序因所转换的数据转换后的结果是一个无限循环的二进制小数,因此给其一个默认的精确度

if(scale==0){

scale = (String.valueOf(deci).length()-2)*4;

}

int index = 0;

StringBuilder inteStr = new StringBuilder();

double tempD = 0.d;

while(true){

if(deci==0 || index==scale){

while(index%4!=0){

inteStr.append("0");

index++;

}

break;

}

if(index==0){

inteStr.append(".");

}

tempD = deci*2;

inteStr.append((int)tempD);

deci = sub(tempD ,(int)tempD);

index++;

if(index%4 == 0){

inteStr.append(" ");

}

}

return inteStr.toString();

}

/**

* 提供精确的减法运算。

* @param v1 被减数

* @param v2 减数

* @return 两个参数的差

*/

public static double sub(double v1, double v2) {

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.subtract(b2).doubleValue();

}

}

例如将十进制数1234.5转成二进制数为:0100 1101 0010.1000

java 十进制转二进制代码_求java十进制转二进制代码相关推荐

  1. java简易画图工具_求Java简单画图工具

    展开全部 ///保存一个pb.java文件直接编译执e68a8462616964757a686964616f31333262363631行 import java.applet.*; import j ...

  2. java 安卓蓝牙程序_求Java大神帮忙,简单修改下安卓蓝牙串口输出程序代码!!急...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 附上蓝牙串口通讯代码, package com.test.BTClient; import java.io.File; import java.io.Fi ...

  3. java实现24点_求 JAVA 算24点的代码

    展开全部 import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java. ...

  4. java一元二次方程求解_求JAVA解一元二次方程的程序。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public class Test2 { //如果要求条件多,那就自己加上就行了.这里不过a == 0或者b ==0情况.自己可以加上 public st ...

  5. java完整版记事本_求java记事本完整版

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 p1.add(new Label("请选择大小")); p1.add(size); p2.add(new Label("请选 ...

  6. java微信签名什么意思,java,_求java实现微信签名,java - phpStudy

    求java实现微信签名 1.求java怎么实现微信签名 package sign; import java.security.MessageDigest; public class MD5Util { ...

  7. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  8. java大神请出来_求java大神,请分析以下代码,写出执行结果,并解释每行结果输出的原因。...

    求java大神,请分析以下代码,写出执行结果,并解释每行结果输出的原因.classPlate{publicPlate(){System.out.println("inPlateconstru ...

  9. 用java编写圆锥_求java大神帮忙 求大神帮助!Java

    导航:网站首页 > 求java大神帮忙 求大神帮助!Java 求java大神帮忙 求大神帮助!Java 相关问题: 匿名网友: 普通类 public class CircularA { //求圆 ...

最新文章

  1. JS判断提交表单不能为空 等的验证
  2. xadmin引入样式无效
  3. JSP 热部署 源码解析
  4. [leetcode] 740.删除并获得点数
  5. java 数组的get set_java.lang.reflect.Array.setBoolean()方法
  6. 手把手教你利用微软的Bot Framework,LUIS,QnA Maker做一个简单的对话机器人
  7. 逼疯一个程序员有多简单?
  8. 制作windows7系统的U盘启动盘
  9. 博弈论(取石子专题)
  10. 形式化方法(一) 逻辑部分概念梳理
  11. 【计算机图形学02】b-spline(b-样条曲线)
  12. 筋膜枪有感电机和无感电机是什么意思?如何区别
  13. 蒋烁淼云计算创业十二年:从云厂商的影子到打造中国版Datadog
  14. 台湾ICPlus九旸 5接口FE以太网交换机 IP175G,IP175GH/GHI
  15. 电子竞技——靠智力取胜的体育项目
  16. 图片上的文字用CSS写出毛玻璃效果
  17. 中兴CS大赛推3G营销
  18. AI开发者被疯抢,华为做了什么?
  19. vue.js devtools
  20. 使用NMT和pmap解决JVM资源泄漏问题

热门文章

  1. 还不懂三次握手四次挥手?看这一篇绝对包你会!
  2. Flux脚本语言基础使用-查询数据(InFluxDB 查询语言)
  3. 2022红明谷-部分Crypto
  4. Mac电脑设置长时间不用自动退出登录
  5. 魔兽6.0暗夜妹子定妆照:性感小腹肌
  6. (成功解决)ros的rvize使用oint_state_publisher报错:[joint_state_publisher_gui-5] process has died
  7. Windows上使用CEF嵌入基于chrome内核浏览器小例
  8. @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited注解
  9. PowerPC P2040启动流程分析
  10. 好想学python机器人_为了追到小姐姐,我用 Python 制作了一个机器人