汇编网首页登录博客注册
mengdewan的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
最新留言

[2008-12-21 08:31] 各种进制之间转换详解

1. 十 -----> 二 

(25.625)(十) 
整数部分: 
25/2=12......1 
12/2=6 ......0 
6/2=3  ......0 
3/2=1  ......1 
1/2=0  ......1 
然后我们将余数按从下往上的顺序书写就是:11001,那么这个11001就是十进制25的二进制形式 

小数部分: 
0.625*2=1.25 
0.25 *2=0.5 
0.5  *2=1.0 
然后我们将整数部分按从上往下的顺序书写就是:101,那么这个101就是十进制0.625的二进制形式 

所以:(25.625)(十)=(11001.101)(二) 


2. 二 ----> 十 

(11001.101)(二) 
整数部分:     下面的出现的2(x)表示的是2的x次方的意思 
1*2(4)+1*2(3)+0*2(2)+0*2(1)+1*2(0)=25 
小数部分:   
1*2(-1)+0*2(-2)+1*2(-3)=0.625 
所以:(11001.101)(二)=(25.625)(十) 


3. 十 ----> 八 

(25.625)(十) 
整数部分: 
25/8=3......1 
3/8 =0......3 
然后我们将余数按从下往上的顺序书写就是:31,那么这个31就是十进制25的八进制形式 

小数部分: 
0.625*8=5 
然后我们将整数部分按从上往下的顺序书写就是:5,那么这个5就是十进制0.625的八进制形式 

所以:(25.625)(十)=(31.5)(八) 


4. 八 ----> 十 
(31.5)(八) 
整数部分: 
3*8(1)+1*8(0)=25 
小数部分: 
5*8(-1)=0.625 
所以(31.5)(八)=(25.625)(十) 


5. 十 ----> 十六 
(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)(十六) 


6. 十六----> 十 
(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.625的八进制形式 
所以:(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的十六进制是多少?” 
于是我就动手算了一下,发现0.8、0.6、0.2... ...一些数字在进制之间的转化 
过程中确实存在麻烦。 

就比如“0.8的十六进制”吧! 
无论你怎么乘以16,它的余数总也乘不尽,总是余8 
这可怎么办啊,我也没折了 
第二天,我请教了我的老师才知道,原来这么简单啊! 


具体方法如下: 
0.8*16=12.8  
0.8*16=12.8  
    .  
    .  
    .  
    .  
    .  
取每一个结果的整数部分为12既十六进制的C  
如果题中要求精确到小数点后3位那结果就是0.CCC  
如果题中要求精确到小数点后4位那结果就是0.CCCC
评论次数(1)  |  浏览次数(699)  |  类型(汇编作业) |  收藏此文  | 

[  martian   发表于  2008-12-26 19:26  ]

顶一下!

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码