|
主题 : : 进制转换 [待解决] |
回复[ 15次 ]
点击[ 1461次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-06-11 19:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-06-06 18:50 |
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楼]
[ 回复时间:2008-06-19 13:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:56
信誉值:0
注册日期:2008-01-19 13:58 |
|
|
|
|
|
[第2楼]
[ 回复时间:2008-07-21 13:31 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-11 17:45 |
|
|
|
|
|
[第3楼]
[ 回复时间:2008-07-24 23:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-24 23:36 |
|
|
|
|
|
[第4楼]
[ 回复时间:2008-12-13 10:08 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:3
注册日期:2008-10-04 09:42 |
|
|
|
|
|
[第5楼]
[ 回复时间:2008-12-13 10:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:3
注册日期:2008-10-04 09:42 |
. 二 ----> 八
(11001.101)(二)
整数部分: 从后往前每三位一组,缺位处有0填补,然后按十进制方法进行转化, 则有:
001=1
011=3
然后我们将结果按从下往上的顺序书写就是:31,那么这个31就是二进制11001的八进制形式
小数部分: 从前往后每三位一组,缺位处有0填补,然后按十进制方法进行转化, 则有:
101=5
然后我们将结果部分按从上往下的顺序书写就是:5,那么这个5就是二进制0.625的八进制形式
所以:(11001.101)(二)=(31.5)(八)
001=1 ??
011=3 ??
为什么等一和三啊 请楼主说清楚点可以吗 谢谢啊 | | |
|
|
|
|
[第6楼]
[ 回复时间:2009-02-06 15:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2009-01-05 13:11 |
011=3是因为 它是加法1+1+1的结果1+1=10 10+1=11 也就是011 | | |
|
|
|
|
[第7楼]
[ 回复时间:2009-02-06 18:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34 |
掌握二进制、十进制、十六进制的相互转换就可以学习汇编语言了:-)
这样对刚接触汇编的兄弟容易些~ | | |
|
|
|
|
[第8楼]
[ 回复时间:2009-08-10 10:53 ]
[引用]
[回复]
[ top ] | |
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07 |
|
|
|
|
|
[第9楼]
[ 回复时间:2009-08-11 12:00 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-06-03 22:05 |
|
|
|
|
|
[第10楼]
[ 回复时间:2009-10-30 11:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07 |
|
|
|
|
|
[第11楼]
[ 回复时间:2009-11-14 20:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-10-16 12:17 |
|
|
|
|
|
[第12楼]
[ 回复时间:2009-11-15 16:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-11-15 16:06 |
|
|
|
|
|
[第13楼]
[ 回复时间:2009-11-16 21:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-11-16 17:05 |
为什么十->十六的时候小数部分
小数部分:
0.625*16=10(即十六进制的A或a)
0.625*16(十六后面为什么没有次数呢?)
还有为什么10就是十六进制的A或a呢
麻烦哪位老师帮忙讲解下。 我刚接触这个, 谢谢 | | |
|
|
|
|
[第14楼]
[ 回复时间:2012-10-27 17:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-10-16 16:56 |
|
|
|
|
|
[第15楼]
[ 回复时间:2012-11-01 22:56 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-10-30 11:12 |
|