- 浏览: 1510870 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (595)
- Java咖啡厅 (208)
- IT杂侃 (23)
- 程序员笑话 (7)
- 我的后现代文学 (1)
- WEB编程 (116)
- 软件评测 (8)
- 操作系统 (3)
- 炫目Ruby (2)
- 行业知识 (7)
- 我的动漫情结 (6)
- 其他 (8)
- Window DIY (6)
- 古文学 (3)
- 转载文章 (2)
- IT百科 (7)
- 动态网页Active (1)
- 文档 (1)
- 设计理论 (11)
- .NET 快速开发 (18)
- 英语学习 (6)
- 网站分析 (2)
- 开源软件 (4)
- 数据库 (28)
- 笔记 (4)
- 源代码共享 (8)
- IT人物 (2)
- 软件管理 (10)
- 小说创作 (0)
- 大众软件 (12)
- 网站评论 (3)
- 小虾乱说 (10)
- 游戏 (8)
- 心情 (3)
- 娱乐休闲 (2)
- Delphi编程 (1)
- PHP编程 (4)
- 中间件 (2)
- 移动开发 (2)
- Office应用 (2)
- Photoshop (1)
- Eclipse (5)
- 面试题 (1)
- 手机评测 (0)
- VBScript (1)
- WEB前端-EXT (3)
- 吐槽 (1)
- Java咖啡厅 Ibatis (1)
- javascript Ext (1)
- jquery ui (1)
- require (1)
- WEB编程 Javascript (1)
- jquery (1)
- Swing (1)
- 分布式 (1)
最新评论
-
zhangjihao:
28. 下面哪个Set是排序的? A. LinkedHas ...
Java面试题(选择题) -
zhangthe9:
ICMP报文被封装在IP包里,也就是说他是由IP协议承载的,从 ...
Java面试题(选择题) -
zhunengfei:
真的假的?
自已写的jquery ui框架 -
white_crucifix:
少年,发烫是所有智能手机的特点,而莫名发烫是所有安卓手机的特点 ...
【吐槽】三星手机的OS是一砣屎 -
suzu88:
试了一下,可以用。如果美化一下控件和窗体更有意思。
一个用XML构建Swing视图的框架
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();
}
}
发表评论
-
原创程序- Web版数据库管理
2017-11-15 00:39 1185这是我自已写的Web版的数据库管理工具,主要是依赖于JDBC ... -
Eclipse创建Web项目
2017-07-29 10:53 7841. 打开创建Web项目的对话框 2 ... -
Ant常用的命令
2016-06-16 13:31 13521. 使用Ant生成War包: <war ... -
在Eclipse上使用Ant发布项目
2015-10-17 15:03 1378这里笔者使用是Eclip ... -
Resin中增加一个虚拟目录的方法
2015-09-13 12:53 1124打开resin.config 找到到<h ... -
一个用XML构建Swing视图的框架
2015-09-06 23:12 2610平常想用Java写一些 ... -
Eclipse常见问题
2015-08-24 19:41 741如果Eclipse被强制关闭时,Tomcat可能没有 ... -
Spring Tools Suite 入门教程
2015-05-09 09:15 0Spring Tools Suit,这里简称STS,是 ... -
使用FTP的方法
2015-03-01 17:49 10211. FlashFXP 收费的软件,但是比较好 ... -
关于Spring
2015-02-16 14:46 2007Spring是一个轻量级J2EE框架。 Sp ... -
用Java实现发送邮件到163
2014-12-28 14:50 3859/* 在java版经常看到有人问如何用javamai ... -
Hibernate入门
2014-12-27 01:34 931前言 使用面向对象的语言和关系型的数据库,开 ... -
修改date.toLocaleString()的警告
2014-10-15 11:31 2556我们在写程序的时候,经常要查看时间,所以我们经常会用到 ... -
Java基础题 -- 简述题
2014-04-26 13:44 729(1)简述Java的运行机制 答案:Java语言根 ... -
Java基础题 -- 填空题
2014-04-26 10:00 18911. ______是一个抽象的计算机,和实际的计算机一样, ... -
FreeMaker入门
2014-04-07 19:51 1018第一章 简介 1 什么是FreeMaker ... -
jdk8 新语法
2014-04-01 23:32 1286import java.util.*; public ... -
MyBatis 入门
2014-03-27 23:31 1726每个MyBatis的中心是SqlSessionFact ... -
Jetty入门
2014-02-26 23:48 1581Jetty是一个简易的WebServer框架,使用 ... -
用Swing做的H2管理器
2014-02-24 23:07 1571MainFrame 继承了 JFrame , 增加c ...
相关推荐
这个“十进制与浮点数相互转化工具”可能是基于上述原理编写的一个小程序,它可以方便地在MIPS环境下进行十进制和浮点数的互相转换,这对于编程、调试或理解浮点运算的底层机制非常有用。在使用过程中,用户只需输入...
这个"ASCII码与十进制,十六进制互相转化的简易工具"就是这样一种实用的小程序,它可以帮助开发者快速查询和转化这些编码形式。 在实际应用中,例如,当你需要知道某个字符的ASCII码值,你可以输入该字符,工具会...
### 基于Java的16进制数与2进制数互相转化方法 #### 一、十六进制数转二进制数 在提供的代码片段中,展示了一个基于Java的程序来实现从十六进制到二进制的转换。 ##### 1.1 程序结构与功能 - **类定义**:`H_to_...
经典的c语言的代码程序——进制间的转换,用vc++6.0写的各种进制之间的转换。
C语言是一种底层编程语言,它允许程序员直接处理二进制、八进制、十进制和十六进制等不同进制的数值。这篇文档“各种进制转换_c语言.doc”很可能是对如何在C语言中进行进制转换的详细讲解。 首先,我们要理解不同...
十六进制作为一种简洁的表示方式,常用于编程和内存地址表示,与二进制之间可以方便地互相转换。 透明性是计算机科学中的一个重要概念,意味着低层的机器级细节对高级语言程序员是隐藏的,使得他们可以专注于更高...
Java科学计算器是一款基于Java编程语言开发的计算器应用,它不仅具备基本的加、减、乘、除四则运算功能,还支持数的进制转换,包括二进制、八进制和十进制之间的互相转换。此外,该计算器还包含了基本的数学函数,如...
二进制数的运算规则简单,乘法和除法可以转化为位移操作。十六进制作为一种常见的二进制缩写形式,方便了数字的书写和转换。不同进制间的转换是编程和数据分析的基础,例如,二进制转换为十进制可以通过按权展开求和...
这是因为`byte[]`适合处理二进制数据,如图片、音频文件等,而`String`则更适合存储文本信息。本篇将详细介绍如何在Android中实现这两种数据类型的互转。 ### 一、`byte[]` 转 `String` 在Java和Android中,将字节...
在数值转换方面,书中介绍了如何将十进制数、二进制数和十六进制数互相转换,以及BCD码(二进制编码的十进制数)的表示。例如,十进制数可以通过移位和加法运算转化为二进制数,再通过特定规则转换成十六进制数。BCD...
* 将十进制转化为二进制时除以2取余 * 二进制转化为八进制时以三位为一组 * 二进制转化为十六进制时以四位为一组 五、字符的编码 * 普遍采用ASCII码(美国标准信息交换码) * 被国际标准化组织ISO采纳,作用通用...
* 将十进制转化为二进制时除二取佘 * 二进制转化为八进制时以三位为一组,三位的权重等于八进进中的一位权重 * 二进制转化为十六进制时以四位为一组 四、字符编码 * 普遍采用的是 ASCII 码,中文含义为美国标准...
4. 二进制换算法则:将十进制转化为二进制时除二取余;二进制转化为八进制时以三位为一组,三位的权重等于八进进中的一位权重,二进制转化为十六进制时以四位为一组。 5. 字符编码:普遍采用的是 ASCII 码,中文...
* 将十进制转化为二进制时除二取余 * 二进制转化为八进制时以三位为一组,三位的权重等于八进进中的一位权重 * 二进制转化为十六进制时以四位为一组 五、字符编码 * 普遍采用 ASCII 码,中文含义为美国标准信息...
* 将十进制转化为二进制时除二取余 * 二进制转化为八进制时以三位为一组,三位的权重等于八进进中的一位权重 * 二进制转化为十六进制时以四位为一组 五、字符编码 * 普遍采用的是ASCII码,中文含义为美国标准信息...
将十进制转化为二进制时除二取余;二进制转化为八进制时以三位为一组,三位的权重等于八进进中的一位权重,二进制转化为十六进制时以四位为一组。 五、字符的编码 对于字符的编码,普遍采用的是ASCII码,中文含义...
* 将十进制转化为二进制时除二取佘 * 二进制转化为八进制时以三位为一组,三位的权重等于八进进中的一位权重 * 二进制转化为十六进制时以四位为一组 五、字符编码 * 普遍采用 ASCII 码 *アメリカ标准信息交换码 * ...
* 将十进制转化为二进制时除二取余 * 二进制转化为八进制时以三位为一组,三位的权重等于八进制中的一位权重 * 二进制转化为十六进制时以四位为一组 五、字符的编码 * 普遍采用ASCII码,中文含义为美国标准信息...