十进制小数怎么转化成二进制小数怎样把十进制的小数转化成二进制的定点小数?

2021-03-05 13:45:48 字数 5277 阅读 4426

1楼:王玉祟

方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分

为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。

读数要从前面的整数读到后面的整数,下面举例:

例1:将0.125换算为二进制

得出结果:将0.125换算为二进制(0.001)2

分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;

第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;

第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;

第四步,读数,从第一位读起,读到最后一位,即为0.001。

2楼:驹成华嫣

有两种方法,介绍一种简单的:除二倒取余数法

例如要将(71)10写成二进制数,我们将71除以2,余数1相应写在右边(如果除尽,余数则写0);再将商35除以2,余数1相应写在右边;再将这步的商17除以2,重复上述过程,直到商等于1为止。并且最后一步的商“1”也写到右边余数那一列的最下面。最后将这列余数由下到上写成一行数,这行数便是(71)10的二进制数表示法。

即(71)10=(1000111)2

怎样把十进制的小数转化成二进制的定点小数?

3楼:匿名用户

所谓二进制定点小数,必须事先规定总长多少位,小数部分占多少位。

假设总长8位,小数部分占其中3位的话,3.75d=00011.110b。

具体转换过程:

3/2=1 余数1

1/2=0 余数1

3d=11b=00011b,高位添0补充到5位(总长8位,小数占3位,则整数占5位)

0.75*2=1.5 整数1,小数部分为0.

5,继续转换0.5=2=1.0 整数1,小数部分为0,转换完毕0.

75d=0.11b=0.110b,低位添0补充到3位所以3.

75d=00011.110b。

在最高有效位之前添0和在最低有效位之后添0,都不会改变这个数值的大小。例如3.75,写成0003.7500,该数值大小不变。

十进制的小数怎么转换成二进制

4楼:蔷祀

可以采用乘2取整法,即将小数部分乘以2,然后取整数部分,

剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。

如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数。

下面举例:

例1:将0.125换算为二进制,结果为:将0.125换算为二进制(0.001)2 。

分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25。

第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5。

第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0。

第四步,读数,从第一位读起,读到最后一位,即为0.001。

扩展资料

十进制整数转换为二进制整数计算的方法:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:

用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止。

然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

如:255=(11111111)b

255/2=127*****余1

127/2=63*****=余1

63/2=31*****==余1

31/2=15*****==余1

15/2=7*****===余1

7/2=3*****====余1

3/2=1*****====余1

1/2=0*****====余1

789=1100010101(b)

789/2=394 余1 第10位

394/2=197 余0 第9位

197/2=98 余1 第8位

98/2=49 余0 第7位

49/2=24 余1 第6位

24/2=12 余0 第5位

12/2=6 余0 第4位

6/2=3 余0 第3位

3/2=1 余1 第2位

1/2=0 余1 第1位

原理:众所周知,二进制的基数为2,十进制化二进制时所除的2就是它的基数。谈到它的原理,就不得不说说关于位权的概念。

某进制计数制中各位数字符号所表示的数值表示该数字符号值乘以一个与数字符号有关的常数,该常数称为 “位权 ” 。

位权的大小是以基数为底,数字符号所处的位置的序号为指数的整数次幂。十进制数的百位、十位、个位、十分位的权分别是10的2次方、10的1次方、10的0次方,10的-1次方。二进制数就是2的n次幂。

按权求和正是非十进制化十进制的方法。

下面我们开讲原理,举个十进制整数转换为二进制整数的例子,假设十进制整数a化得的二进制数为edcba 的形式,那么用上面的方法按权, 得:

a=a(2^0)+b(2^1)+c(2^2)+d(2^3)+e(2^4)

假设该数未转化为二进制,除以基数2得:

a/2=a(2^0)/2+b(2^1)/2+c(2^2)/2+d(2^3)/2+e(2^4)/2

注意:a除不开二,余下了!其他的绝对能除开,因为他们都包含2,而a乘的是1,他本身绝对不包含因数2,只能余下。

商得:b(2^0)+c(2^1)+d(2^2)+e(2^3),再除以基数2余下了b,以此类推。

当这个数不能再被2除时,先余掉的a位数在原数低,而后来的余数数位高,所以要把所有的余数反过来写。正好是edcba。

5楼:匿名用户

将小数部分乘以2,取结果的整数部分为二进制的一位。 然后继续取结果的小数部分乘2重复,一直到小数部分全部为0结束 (有可能遇到不停循环乘不尽的情况出现)

举例:0.8125换成二进制方法如下:

0.8125x2 = 1.625...1

0.625x2 = 1.25....1

0.25x2 = 0.5.....0

0.5x2 = 1 .....1

至此小数部分已经全为0 (1.0000..) ,所以十进制0.8125对应二进制的 0.1101

而乘不尽的无限循环二进制小数举个例子如十进制的0.68, 你可以尝试按上面的方法乘一下 :)

另外十进制的整是用除2的方式的,想必你已经知道了。在换算时需要将整数部分用除2方式计算出,小数部分用乘2方式计算出,然后再用小数点接到一起作为二进制的结果

6楼:知识之窗

第二种方法就是公式转换。这种比较麻烦。转换公式就是采用"乘2取整,顺序排列"法。

具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

7楼:匿名用户

给lz两个**吧,讲的很详细

http://zhidao.baidu.***/question/59899901.html?si=2

http://blog.csdn.***/boluo1982107/archive/2008/11/15/3304194.aspx

十进制小数怎么转换为二进制小数

8楼:晨—光

方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分

为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。

读数要从前面的整数读到后面的整数,下面举例:

例1:将0.125换算为二进制

得出结果:将0.125换算为二进制(0.001)2

分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;

第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;

第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;

第四步,读数,从第一位读起,读到最后一位,即为0.001。

9楼:逮兰祖嫣

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

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

【例1108】把(0.8125)转换为二进制小数。

解:例1109(173.8125)10=()2解:

由〔例1107〕得(173)10=(10101101)2由〔例1108〕得(0.8125)10=(0.1101)2把整数部分和小数部分合并得:

(173.8125)10=(10101101.1101)2

10楼:匿名用户

0.5(d)

=2^(-1)

=0.1(b)

11楼:匿名用户

将小数部分乘以2,取结果的整数部分为二进制的一位。 然后继续取结果的小数部分乘2重复,一直到小数部分全部为0结束 (有可能遇到不停循环乘不尽的情况出现)

举例:0.8125换成二进制方法如下:

0.8125x2 = 1.625...1

0.625x2 = 1.25....1

0.25x2 = 0.5.....0

0.5x2 = 1 .....1

至此小数部分已经全为0 (1.0000..) ,所以十进制0.8125对应二进制的 0.1101

而乘不尽的无限循环二进制小数举个例子如十进制的0.68, 你可以尝试按上面的方法乘一下 :)

另外十进制的整是用除2的方式的,想必你已经知道了。在换算时需要将整数部分用除2方式计算出,小数部分用乘2方式计算出,然后再用小数点接到一起作为二进制的结果

二进制数如何转化成十进制,英文字母怎样与二进制转换

1楼 匿名用户 这个很简单,在你的电脑上本身就有个科学计算器,在 开始 所有程序 附件 计算器 点击你会看到会弹出个计算器的对话框 如果想科学计算的话 就点击 查看 科学型 这样就可以进制替换了 你想二进制转换十进制就先选二进制 其他的不用管 输完后点十进制他就可以换算出来了 2楼 匿名用户 二进制...

二进制小数0 1转化为十六进制为多少

1楼 匿名用户 二进制0 1等于2的负一次方,等于十进制1 2 十六进制0 1等于16的负一次方,等于十进制的1 16 0 5 0 0625 8 十六进制 0 8 2楼 匿名用户 0 1 2 0 8 16 方法 以小数点为分界小数部分向右每四位二进制转化为16进制 不足的在右补0 所以 0 1 2 ...

C语言输入任意数字转化为二进制,十进制,八进制,十六进制

1楼 匿名用户 include void showbit int n printf d n 2 void showoct int n printf d n 8 void showhex int n printf d n 16 int main c语言编程题 从键盘输入一个十进制数,将其转换为二进制 ...