二进制小数0.001如何化二进制分数

二进制小数0.001如何化二进制分数

  说的是计算机吗?
  要是的话如下
  二进制、八进制、十六进制
  进制 数 字 进位方法
  十进制 0、1、2、3、4、5、6、7、8、9 有十进一
  二进制 0、1 有二进一
  八进制 0、1、2、3、4、5、6、7 有八进一
  十六进制 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 有十六进一
  二进制 八进制 十进制 十六进制
  1 1 1 1
  10 2 2 2 (注:“10”这不是“十”而是“1”“0”)
  11 3 3 3
  100 4 4 4 (同上:“100”不是“一百”而是“1”,"0","0".)
  101 5 5 5
  110 6 6 6
  111 7 7 7
  1000 10 8 8
  1001 11 9 9
  1010 12 10 A
  1011 13 11 B
  1100 14 12 C
  1101 15 13 D
  1110 16 14 E
  1111 17 15 F
  10000 20 16 10 (同上:所有都是)(字母是什么,一会再说)
  三、利用知识完成任务
  ⒈二进制与十进制的转换.
  ⑴二进制转换成十进制
  把十进制数"17"转换二进制数.
  17/2=8余1
  8/2=4余0
  4/2=2余0
  2/2=1余0
  1 直接落下.
  !重点:将所得的余数侄倒过来数.这个不算明显.继续看
  结果等于10001(二进制)
  另外:小数部分的换算,二进制转十.
  将小数乘以2,所得积的整数部分即为二进制数十分位上的数码,再将此积的小数部分乘以2,所得积的整数部分为二进制数百分位上的数码,如此反复……直到积是0为止.
  如:200.15
  先算整数部分,
  200/2=100余0(过程省略)
  结果是10001000(倒著数!)
  小数部分0.15
  0.625*2=1.25 (取整数1,也就是1.25中的1)
  0.25*2=0.5(取0)
  0.5*2=1.0取1
  结果=0.101
  中和一下就是 10001000.101
  ⒉二进制转换成十进制
  这个方法是将你所要转化的二进制从右向左数,从0开始数在位数是1的地方停下,并将1乘以2的N次方,最后将这些1乘以2的N次方相加,就是这个二进数的十进制了.
  还是举个例子吧:
  求110101的十进制数.从右向左开始了 第一个数是1,第二个0,三1,0,1,1.(看见0直接过滤)
  (1) 1乘以2的0次方,等于1;
  (2) 1乘以2的2次方,等于4;
  (3) 1乘以2的4次方,等于16;
  (4) 1乘以2的5次方,等于32;
  (5) 将这些结果相加:1+4+16+32=53 (呵呵,再算回去看对不对)
  小数的呢就是:
  0.101(2进)
  1*2(-1)+0*2(-2)+1*2(-3)=0.625
  负数方就是这个数的倒数正方,如2(-2)就是1/2(2)
  ⑴十进制数转换成八进制数
  (25.625)(十)
  整数部分:
  25/8=3.1
  3/8 =0.3
  然后我们将余数按从下往上的顺序书写就是:31,那么这个31就是十进制25的八进制形式
  小数部分:
  0.625*8=5
  然后我们将整数部分按从上往下的顺序书写就是:5,那么这个0.5就是十进制0.625的八进制形式
  所以:(25.625)(十)=(31.5)(八)
  ⑵八进制数转换成十进制数
  31.5(八)
  整数部分:
  3*8(1)+1*8(0)=25
  小数部分:
  5*8(-1)=0.625
  所以(31.5)(八)=(25.625)(十)
  ⑶十进制换成十六进制
  (25.625)(十)
  整数部分:
  25/16=1.9
  1/16 =0.1
  然后我们将余数按从下往上的顺序书写就是:19,那么这个19就是十进制25的十六进制形式
  小数部分:
  0.625*16=10(即十六进制的A或a)
  然后我们将整数部分按从上往下的顺序书写就是:A,那么这个A就是十进制0.625的十六进制形式
  所以:(25.625)(十)=(19.A)(十六)
  ⑷十六进制转换成十进制数
  (19.A)(十六)
  整数部分:
  1*16(1)+9*16(0)=25
  小数部分:
  10*16(-1)=0.625
  所以(19.A)(十六)=(25.625)(十)
  如何将带小数的二进制与八进制、十六进制数之间的转化问题
  我们以(11001.101)
  1. 二 ----> 八
  (11001.101)(二)
  整数部分: 从后往前每三位一组,缺位处用0填补,然后按十进制方法进行转化, 则有:
  001=1
  011=3
  然后我们将结果按从下往上的顺序书写就是:31,那么这个31就是二进制11001的八进制形式
  小数部分: 从前往后每三位一组,缺位处用0填补,然后按十进制方法进行转化, 则有:
  101=5
  然后我们将结果部分按从上往下的顺序书写就是:5,那么这个5就是二进制0.101的八进制形式
  所以:(11001.101)(二)=(31.5)(八)
  2. 八 ----> 二
  (31.5)(八)
  整数部分:从后往前每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有:
  1---->1---->001
  3---->11
  然后我们将结果按从下往上的顺序书写就是:11001,那么这个11001就是八进制31的二进制形式
  说明,关于十进制的转化方式我这里就不再说了,上一篇文章我已经讲解了!
  小数部分:从前往后每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有:
  5---->101
  然后我们将结果按从下往上的顺序书写就是:101,那么这个101就是八进制5的二进制形式
  所以:(31.5)(八)=(11001.101)(二)
  3. 十六 ----> 二
  (19.A)(十六)
  整数部分:从后往前每位按十进制转换成四位二进制数,缺位处用0补充 则有:
  9---->1001
  1---->0001(相当于1)
  则结果为00011001或者11001
  小数部分:从前往后每位按十进制转换成四位二进制数,缺位处用0补充 则有:
  A(即10)---->1010
  所以:(19.A)(十六)=(11001.1010)(二)=(11001.101)(二)
  4. 二 ----> 十六
  (11001.101)(二)
  整数部分:从后往前每四位按十进制转化方式转化为一位数,缺位处用0补充 则有:
  1001---->9
  0001---->1
  则结果为19
  小数部分:从前往后每四位按十进制转化方式转化为一位数,缺位处用0补充 则有:
  1010---->10---->A
  则结果为A
  所以:(11001.101)(二)=(19.A)(十六)
  0.8的16进制
  具体方法如下:
  0.8*16=12.8
  0.8*16=12.8
  十六进制的字母含义
  A=10
  B=11
  C=12
  D=13
  E=14
  F=15
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-08
手动的话:
用短除法(每次除你要的进制,如二进制就是除2)把每次的余数记下来,直到除到0,然后把余数的顺序倒过来写就是了。

如:231;
2|231
----
2|115-->(余)1↑
---- |
2|57 --> 1 |
---- |
2|28 --> 1 |
---- |
2|14 --> 0 |
---- |
2| 7 --> 0 |
---- |
2| 3 --> 1 |
---- |
2| 1 --> 1 |
---- |
0 --> 1 |

结果就是:11100111;
(编程的方法就是楼上那位的,但好歹给点辛苦费吧... ...手酸了... ...(都是手打的... ...))本回答被提问者采纳
相似回答