`
ziwuzu
  • 浏览: 53121 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

十进制小数在二进制中的表示

 
阅读更多

有些在十进制中的有限小数,在二进制中变成了无限小数。

public static void main(String[] args) {
		Float a = 0.01f;
		System.out.println(a);
		System.out.println(Float.toHexString(a));
		Double d = 0.01d;
		System.out.println(d);
		System.out.println(Double.toHexString(d));
	}

 结果

0.01
0x1.47ae14p-7
0.01
0x1.47ae147ae147bp-7

 

也可以通过十进制数转二进制数的算法来看

a=0.01

输出“0.“

while(a的小数位不全为0){

     a=a*2;

     如果a的整数位为0,输出0;

     如果a的整数位为1,输出1,a=a-1;

}

最后得到的就是小数部分的二进制表示了

public class TestInfinit {
	public static void main(String[] args) {
		BigDecimal bigDecimal = new BigDecimal("0.01");
		BigDecimal bigDecimal2 = new BigDecimal("2");
		BigDecimal bigDecimal1 = new BigDecimal("1");

		int i = 0;
		while (i<1000) {
			bigDecimal = bigDecimal.multiply(bigDecimal2);
			if(bigDecimal.compareTo(bigDecimal1)<0){
				System.out.print("0");
			}else{
				bigDecimal = bigDecimal.subtract(bigDecimal1);
				System.out.print("1");
			}
			i++;
		}
	}
}

 结果有1000位

 

 

0
0
分享到:
评论

相关推荐

    十进制小数和二进制小数相互转换(C++版)

    在C++编程语言中,十进制与二进制之间的转换是一项基础技能,尤其在处理数字和计算机内部表示时非常重要。文档《十进制小数和二进制小数相互转换》为初学者提供了一种理解转换过程的方法。由于转换涉及整数和小数...

    十进制小数转二进制小数类

    十进制小数转二进制小数类 /// /// 十进制转二进制 /// /// 指定的数字Double类型 /// 返回转化后的二进制数字 public string DecToBinary(double number) { string value = ""; long izs = (long)number...

    FPGA 二进制小数的乘法和除法

    在FPGA设计中,二进制小数的乘法和除法是常见且重要的运算,尤其是在数字信号处理、浮点运算以及嵌入式系统中。理解这些运算的原理和实现方法对于开发高效的FPGA逻辑至关重要。 首先,让我们来探讨二进制小数的乘法...

    java十进制转换二进制

    本文通过一个具体的Java程序实例,详细介绍了如何将十进制数(包括正数和负数)转换为二进制表示的方法。通过对程序逻辑的逐步分析,我们不仅学习了基本的转换过程,还深入了解了负数在计算机中的补码表示方式。这种...

    十进制小数转化二进制小数(补码形式输出)

    本文将详细讨论如何将十进制小数转化为二进制小数,并以补码形式输出,这对于理解计算机内存(如RAM和ROM)的初始化过程至关重要。 首先,我们要了解数制系统。十进制是我们日常生活中最常用的一种计数方式,它基于...

    32位浮点数转换成十进制小数程序

    本程序的目标是将这种32位的二进制浮点数转换为十进制小数。 首先,我们来理解32位浮点数的结构。它由三部分组成:符号位(1位)、指数部分(8位)和尾数部分(23位)。这三部分共同决定了浮点数的值。 1. **符号...

    浮点数转换工具 十六进制浮点数 与 十进制小数 相互转化查询

    十进制小数转换成二进制或十六进制时,需要进行一系列的除法和取余操作,以便精确地表示原数值。 4. **转换过程**:从十六进制浮点数转换到十进制小数,首先需要解析十六进制字符串,然后按照IEEE 754的规则解码...

    小数进制转换器 可以进行十进制小数转化为二、八、十六进制

    小数进制转换器,可以进行十进制小数转化为二、八、十六进制

    Python实现的十进制小数与二进制小数相互转换功能

    2. **乘2取整**: 对于十进制小数部分,每次乘以2并取整数部分,该整数部分就是对应的二进制位上的数字。然后,用2乘以剩下的小数部分继续这个过程,直到小数部分为0或达到所需的精度为止。 3. **记录结果**: 每次...

    十进制转二进制的方法

    从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用 0 补足。 结果为 26.14Q。 六、总结 十进制转二进制的方法是通过除法算法实现的,二进制转十进制的...

    浅谈十进制小数和二进制小数之间的转换

    十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。 1. 十进制整数转换为二进制整数 十进制整数转换为二进制整数采用”除2取余,逆序排列”法...

    JAVA 十进制数转二进制数

    输入一个整十进制数n,把它转化为二进制,小数部分还没有考虑。。。

    遗传算法十进制转为二进制matlab代码

    由于我们的数据本身就是用十进制表示的,所以十进制编码相当于不编码。相应的,我们的交叉方法与变异方法也要针对十进制做出相应改变。遗传算法十进制转为二进制matlab代码,该段代码适合初学遗传算法的小白进行学习

    labview 十进制转换为二进制

    labview 十进制转换为二进制,比较简单的一种方法,还可以用在其他方面

    十进制转二进制小数PPT学习教案.pptx

    在数学和计算机科学中,数字的表示方式有很多种,其中最常见的就是十进制和二进制。十进制是我们日常生活中的主要计数系统,而二进制则是计算机的基础。这个PPT学习教案详细介绍了如何将十进制数转换为二进制数,...

    十进制转二进制小数PPT课件.pptx

    在计算机科学中,二进制是一种基础的数字系统,它仅使用两个符号——0和1——来表示所有的数值和信息。这个PPT课件详细介绍了如何将十进制数转换为二进制数,这对于理解计算机内部的工作原理至关重要,因为计算机...

    [十进制小数转换二进制]二进制、八进制、十六进制转换方式_0.docx

    在计算机科学中,二进制、八进制和十六进制是三种常用的数据表示方法,它们都是基于不同的基数系统来表示数字。对于十进制小数转换为这些进制,有一些基本的转换规则和方法。 **6.1 十进制转二进制** 将一个十进制...

    进制间的转换二进制与十进制转换流程图解

    理解这些基本的转换方法,能够帮助我们更好地理解和操作计算机中的数值,尤其是在处理二进制数据时,如在编程语言中进行位运算或理解计算机存储原理等。无论是学习计算机硬件、软件开发还是数据分析,掌握进制转换都...

    小学六年级奥数题第9课《二进制小数》试题附答案.docx

    在十进制中,每一位的数值是基于10的幂,而在二进制中,每一位的数值基于2的幂。例如,十进制小数0.25可以表示为二进制的小数0.01,因为2的-2次方等于0.25(即0.5的平方)。二进制小数的每一位向左移动一位,其值就...

Global site tag (gtag.js) - Google Analytics