展开全部

下面是根据十进制数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. Linux下Memcache服务器端的安装
  2. 数据库维护优化及后期改进约定.实践篇
  3. UA OPTI501 电磁波 Lorentz Oscillator Model 4 Hilbet变换与Kramers-Konig关系式
  4. java dart 官司_Dart和Java的区别
  5. 严重性代码说明项目文件行 禁止显示状态错误 C4996 fopen('fscanf'、strcmp):This function or variable may be unsafe. 最全解决办法
  6. 怎么向小学生解释欧拉公式 e^(πi)+1=0?
  7. 怎么用python编程前二n-1项的等差数列的和_python 等差数列末项计算方式
  8. float position的测试案例
  9. Servlet 调用过程
  10. Java Spring全家桶详解——Spring简介
  11. 互联网科普-淘宝与天猫的对标
  12. 完整的连接器设计手册_连接器设计中,仿真技术提供了力学理论依据
  13. 128G的U盘格式化后只有300M,如何恢复成128G
  14. M40Z-025003TB0西克光电开关 订货号: 1200128
  15. 李子柒为什么可以火爆全球
  16. 一篇入门Android UI 设计
  17. 佳能(Canon)打印机初始化备忘录
  18. PPT中如何将图片灰化(黑白化)
  19. c语言中x=y=100合法吗,【单选题】已知:int x; int y[10]; 下列合法的选项是( )。 A. x B. (x+3) C. 5 D. y...
  20. HP EliteDesk 800 G4 DM 35W (Japan) Mini Tower黑苹果efi引导文件

热门文章

  1. unity3d-地图制作之暗光
  2. 2021年内蒙古高考成绩查询一分一段,2021年内蒙古高考成绩排名及一分一段表
  3. excel表格怎么导入word?
  4. 教你免费安装官方 Apple Remote Desktop 洗白官方Remote Desktop for Mac
  5. java文件如何转换为class文件(HelloWorld举例)
  6. UNITY 3D NGUI 2D动态图片制作
  7. dell服务器管理口ip地址_批量自动化配置Dell服务器idrac管理口IP
  8. c语言long long int怎么用,在Dev C++下,使用long long int
  9. uni-app教程入门视频资料
  10. [oeasy]python0019_ 打包和解包_struct_pack_unpack