精华内容
下载资源
问答
  • 十进制小数或带小数十进制转二进制十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的...

    十进制小数或带小数的十进制转二进制:

          十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

          然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

    如:0.625=(0.101)B
      0.625*2=1.25
    取出整数部分1
      0.25*2=0.5
    取出整数部分0
      0.5*2=1
    取出整数部分1
      
    再如:0.7=(0.1 0110 0110…)B
      0.7*2=1.4
    取出整数部分1
      0.4*2=0.8
    取出整数部分0
      0.8*2=1.6
    取出整数部分1
      0.6*2=1.2
    取出整数部分1
      0.2*2=0.4
    取出整数部分0 
      0.4*2=0.8
    取出整数部分0
      0.8*2=1.6
    取出整数部分1
      0.6*2=1.2
    取出整数部分1
      0.2*2=0.4
    取出整数部分0

      
    2、十进制整数转换为二进制整数

          十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

    例、把 173D转换为二进制数。
    解:
    在这里插入图片描述

    以下为十进制小数或带小数的十进制转二进制代码。

    #include<stdio.h>
    
    #define N 10
    #define M 100 
    
    void fun10_2_Z(long number)//十进制整数部分转二进制 
    {
    	char ch[M];
    	int len=0;
    	if(number==0) 
    	{
    		printf("%d",number);//如果整数部分为零直接输出
    	} 
    	else
    	{
    		while(number)
    		{
    			ch[len++]=number%2;
    			number=number/2;
    		}
    		for( ;len>0;len--)//逆向输出 
    		{
    			printf("%d",ch[len-1]);
    		}
    	}	
    }
    void fun10_2_X(double number)        //十进制小数部分转二进制 
    {
    	int i,len=0;
    	int arry[N];
    	
    	while(number)
    	{
    		int temp = (int)(number*2);
    		arry[len++]=temp;
    		if(len==N) 
    			break;            //控制小数点后不超过十位 
    		number = 2*number-temp;
    	}
    	
    	printf(".");
    	for(i=0;i<len;i++)
    	{
    		printf("%d",arry[i]);
    	}
    }
    
    int main()
    {
    	double number;
    	scanf("%lf",&number);
    	long t=(int)number;//整数部分 
    	double m=number-t;//小数部分 
    	fun10_2_Z(t);
    	fun10_2_X(m);
    	return 0;
    }
    

    运行效果截图:

    十进制小数转二进制,运行截图:
    十进制
    在这里插入图片描述
    带小数的十进制转二进制运行截图:
    在这里插入图片描述

    展开全文
  • 上一节我们学习了计算机中信息的表示方式,常用的进制...也就是说一个带小数十进制数,我们整数与小数要分别使用不同的方法来转换成二进制数。如果是单独的十进制整数,那只需采用下面的方法。 整数部分十进制转换...

           上一节我们学习了计算机中信息的表示方式,常用的进制表示方式。那常用的进制之间是如何转换的呢?今天我们就来学习一下十进制转换二进制的方法。

           十进制的数我们可以看成由两部分组成。一个是整数部分,一个是小数部分。也就是说一个带小数的十进制数,我们整数与小数要分别使用不同的方法来转换成二进制数。如果是单独的十进制整数,那只需采用下面的方法。

          整数部分十进制转换二进制的方法我们称为“除2取余法”,得到的余数逆序排列,就得到了结果。

    9acb2d6e1ce2b6522906e9089e0bd140.png

           小数部分我们使用的方法是“乘2取整法”,得到的整数,正向排列,即把给定的十进制小数不断乘以2,取乘积的整数部分作为二进制小数如此不断重复,得到二进制小数的其他位。按要求保留位数。

    2a7580e4a86afcc7aae106cf07ebb4ec.png

    上述十进制转换二进制的方法同学们掌握了吗?找一些转换题再试试吧!

    下一篇我们会介绍二进制转换成十进制的方法,欢迎大家关注并阅读。

    5d8f9f82250a372b5add56033404f049.png

    本公众号介绍计算机基础知识及办公软件的使用方法,欢迎关注!

    展开全文
  • 十进制小数转换成二进制小数的快速方法  Windows自带的计算器可以方便地把十进制的整数转换成二进制的整数,但是十进制小数则无法直接转换成二进制小数。  今天,我发现了一个快速的解决办法! ...
    十进制小数转换成二进制小数的快速方法
     Windows自带的计算器可以方便地把十进制的整数转换成二进制的整数,但是十进制的小数则无法直接转换成二进制的小数。

      今天,我发现了一个快速的解决办法!

      一个十进制小数可以表示成“X.Y”的形式,“X”是整数部分,“Y”是纯小数部分,要分别进行转换,最后合在一起。

      整数部分“X”的转换成二进制可以直接利用Windows的计算器,非常简单,不说了。

      对纯小数部分“Y”的转换,要提前设定转换精度,比如精确到小数点后16位。别理解错了,对于二进制的小数点后16位在精度上仅相当于十进制小数点后的5位,并非十分高!

      将“0.Y”乘以2的16次方,即“0.Y×65536”,结果可能会有小数部分,将小数部分四舍五入到个位,得到一个没有小数部分的纯整数,称作“Z”。

      利用Windows计算器将“Z”转换成二进制,若结果不足16位,则在最前面补0,补够16位。这就是小数部分“Y”对应的二进制了。

      现在将“X”和“Y”对应的二进制数码合在一起(中间当然要有小数点),就是最终结果了!

      举个实例:把十进制纯小数“0.123”转换成二进制小数。

          0.123×65536=8060.928

      四舍五入后得到“8061”,转换成二进制为“1111101111101”,只有13位,前面需要补3个“0”,得到“0001111101111101”。因此结果是

          0.123=(0.0001111101111101)2=(0.1F7D)16

    展开全文
  • 十进制小数转换为二进制小数 定义 进制也就是进位计数制,是人为定义的进位的计数方法。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。 一、二进制数转换成十进制...


    定义

    进制也就是进位计数制,是人为定义的带进位的计数方法。
    十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。


    一、二进制数转换成十进制数

    由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。

    例如把二进制数 110.11 转换成十进制数。

    在这里插入图片描述

    二、十进制数转换为二进制数

    十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

    1. 十进制整数转换为二进制整数

    十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

    例如把 (173)10 转换为二进制数。

    解:
    在这里插入图片描述

    2.十进制小数转换为二进制小数

    十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

    然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

    例如把(0.8125)转换为二进制小数。

    解:
    在这里插入图片描述

    例:

    (173.8125)10=( )2
    

    解:

    在上个例子中得(173)10=(10101101)2
    得(0.8125)10=(0.1101)2
    把整数部分和小数部分合并得:

    (173.8125)10=(10101101.1101)2
    

    十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又 得到一个积,再将积的整数部分取出,如此进行,直到积中的整数部分为零,或者整数部分为1,此时0或1为二进制的最后一位。或者达到所要求的精度为止。

    然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

    十进制小数转二进制

    如:0.625=(0.101)B

    0.625*2=1.25======取出整数部分1 
    0.25*2=0.5========取出整数部分0 
    0.5*2=1==========取出整数部分1 
    

    再如:0.7=(0.1 0110 0110…)B

    0.7*2=1.4========取出整数部分1 
    0.4*2=0.8========取出整数部分0 
    0.8*2=1.6========取出整数部分1 
    0.6*2=1.2========取出整数部分1 
    0.2*2=0.4========取出整数部分0  
    0.4*2=0.8========取出整数部分0 
    0.8*2=1.6========取出整数部分1 
    0.6*2=1.2========取出整数部分1 
    0.2*2=0.4========取出整数部分0
    
    展开全文
  • 由于需要,最近写了一个小程序,实现带小数二进制转十进制,先看代码: clc clear all % 整数部分 bit1 = 3; bit_integer = [0,1,0]; % 小数部分 bit2 = 2; bit_decimal = [1,0]; intege...
  • 用java实现十进制二进制小数的互转机制   本篇博客主要讲述用java...1、 编写程序实现十进制小数x=0.7 的二进制转换,并分析其误差(即重新将二进制小数转十进制小数,和原十进制小数进行比较。) 2、编程...
  • 带小数十进制转换为二进制

    万次阅读 2018-04-13 19:44:02
    (Tip:十进制小数转换成二进制用乘2取整)解题思路:分为整数部分转换和小数部分转换,两步操作整数部分除2逆向取余小数部分乘2正向取整如:12.45=1100.0.011100110012/2=6..06/2=3..03/2=1..11/2=0..1结果为11000....
  • Windows自带的计算器可以方便地把十进制的整数转换成二进制的整数,但是十进制小数则无法直接转换成二进制小数。 今天,我发现了一个快速的解决办法! 一个十进制小数可以表示成“X.Y”的形式,“X”是整数部分...
  • 带小数二进制转十进制(C代码)

    千次阅读 2018-12-16 20:52:56
    思路:处理带小数二进制转十进制,我们一般可以把它分为两部分,整数部分和小数部分,整数部分二进制转十进制采用逆向累加法,小数二进制转十进制采用正向累加法,然后总体相加即可。 #include&lt;stdio.h&...
  • 带小数二进制转十进制 看到的都是 理论 没有代码, 今天把自己的公布下,欢迎指正(部分是借用别人的)如有疏漏,恳请指出。 #include <stdio.h> #include <string.h> #include <math.h> void ....
  • C语言实现二进制十进制的互(带小数) 全部代码 #include <stdio.h> #include <stdlib.h> #include <math.h> #define M 100 typedef long ElemType; // 栈 typedef struct { ...
  • 1.1、基本原则:按权展开法,即把各数位乘权的i次方后相加1.2、实例:例1:二进制十进制的转换,带小数部分01011010.01B=0×2^7+1×2^6+0×2^5+1×2^4+1×2^3+0×2^2+1×2^1+0×2^0+0×2^-1+1×2^-2=90.25例2:八...
  • 直接用C语言实现,没有数据结构 需要看栈和队列版的看这里 C语言使用栈和队列实现二进制十进制的互(带小数) 代码 #include #include #include /** * 整数部分十进制转二进制 */ void convertIntegerToBinary...
  • 本文介绍了python十进制二进制的转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:我终于写完了 , 十进制转二... pre=4):'''把一个带小数二进制数n转换成十进制小数点后面保留pre位小数'''string...
  • 不同进制是指不同位置上数字对应的权值不同。...乘二取整是针对十进制小数部分转换为二进制的方法,而整数部分为除二取余,具体如下: 将整数部分辗转相除2,将余数倒序排列,即整数部分的二进制数 将...
  • #include<stdio.h> int main() { int n; float m; scanf("%d",&n); scanf("%f",&m); for(int i=0;i<16;i++) { // 运算符 & 的优先级比==低,所以要加() if ( ( n &...
  • 参考链接: Python中的十进制函数 1 本文介绍了python十进制二进制的转换方法(含浮点数),分享给大家,也给自己留个...把一个带小数二进制数n转换成十进制 小数点后面保留pre位小数 ''' string_number1 = st...
  • 十进制数转换为二进制的大家都清楚了,那么带小数十进制如何转换为二进制?整数部分当然和十进制整数转换方式一样,也就是说小数部分如何转化为二进制? 方法:乘2取整法,即将小数部分乘以2,然后取整数部分,...
  • 本文介绍了python十进制二进制的转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:我终于写完了 , ... pre=4):'''把一个带小数二进制数n转换成十进制小数点后面保留pre位小数'''string_number1 =...
  • 各位大虾,本人刚接触VB6.0 ,不知道带小数十进制数如何转换为二进制,请提供代码以代学习,谢谢!
  • 浮点数二进制十进制之间的转换 ... 把一个带小数二进制数n转换成十进制 小数点后面保留pre位小数 ''' # number1 表示二进制数,number2表示十进制数 string_number1=str(n) decimal = 0 # 小数部分
  • // 将小数部分转化为二进制 int count = 32; // 限制小数部分位数最多为32位,如果超过32为则抛出异常 double num = 0; while (r > 0.0000000001) { count--; if (count == 0) { throw new Exception("Cannot...
  • 十进制转二进制数,跟据不同的开发语言其转换方式有很多,在Java中如果相把一个十进制的整数来转换成二进制那是举手之劳,非常简单,只要用Integer.toBinaryString(int)方法就可以得到结果。但如果转换的不是一个...
  • 实现带小数二进制数到十进制数的转换。二进制字符序列以字符‘#’结尾, 如 “1011.101#”。 将二进制数“1011.101”转换为十进制数。 二进制字符序列中只可能存在‘0’、‘1’、‘.’、‘#’ 4种字符,不会出现...
  • 把一个带小数二进制数n转换成十进制 小数点后面保留pre位小数 ''' string_number1 = str(n) #number1 表示二进制数,number2表示十进制数 decimal = 0 #小数部分化成二进制后的值 flag =
  • 对于任一的十进制数据,可先将其分成整数部分和小数部分。整数部分利用Python自带的bin()函数、oct()函数和hex()函数可直接转换(详见Python-编码规则);小数部分可利用该编程方法(详见Python-十进制小数部分转换为...
  • 现在是凌晨1点56 今天6月7号 高考 我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时 上代码 1 #-*- coding: utf-8 ... 5 把一个带小数二进制数n转换成十进制 6 小数点后面保留pre位小数...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 136
精华内容 54
关键字:

二进制带小数转十进制