我要笔算简单的二、八、十、十六进制的全部转换法,急急急,过几天考试!

如题所述

⑴二进制数转换成十进制数

[例](11111001001)2=1×210+1×29+1×28+1×27+1×26+0×25+0×24

+1×23+0×22+0×21+1×20

=(1993)10

(1011.101)2=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3

=(11.625)10

⑵十进制数转换成二进制数

①十进制整数转换成二进制整数(除基(2)取余法)

[例]

2 1993

2 996 …………1…………0位 低位二进制整数

2 498 …………0…………1位

2 249 …………0…………2位

2 124 …………1…………3位

2 62 …………0…………4位

2 31 …………0…………5位

2 15 …………1…………6位

2 7 …………1…………7位

2 3 …………1…………8位

2 1 …………1…………9位

0 …………1…………10位 高位二进制整数

注意,除到0商时结束2除步,回写(从高位回到低位)余数便是所求二进制数,即:(1993)10=(11111001001)2

②十进制纯小数转换成二进制纯小数(乘基(2)取整法)

[例]

0.625

2

2-1位… 1. 250 高位二进制小数

2

2-2位… 0. 500

2

2-3位 1.000 低位二进制小数

纯小数位被全乘为0时,得准确二进制纯小数;否则(纯小数位永远被2乘不为全是0)只能化成满足某一精确度要求的二进制小数的近似值。例中(0.625)10=(0.101)2是准确值,其中101是顺写的积整位(从高位到低位)数。

2. 二进制数与八进制数之间的转换
⑴二进制数转换成八进制数(三位分组转换法,即合三为一法)

[例]将二进制数11010001011.11011用三位分组转换的方法转换成八进制数。

①从小数点起对整数位向左,对小数位向右三位分一组,不足三位时,在最外端加补0位,使之都成为三位:

(填入0位)0→011 010 001 011.110 110←0(填入0位)

②将三位一组二进制数分别转换成八进制数,并按原位置次序写成新的记数数,即得与原数等值的八进制数:3213.66

③从而有:(11010001011.11011)2=(3213.66)8

所以这样做,是因为八进制数的不同数字恰是8个三位二进制数。

⑵八进制数转换成二进制数

将八进制数转换成二进制数时,正是上述方法的逆(一分为三法)。只是注意要在转换成二进制数后,将相当于被加补的0位上的那些0略去,这些0在二进制记数中是可有可无的,它们并不影响记数值。

[例](3213.66)8=(011 010 001 011.110 110)2=(11010001011.11011)2

八进制数与十进制数之间的转换,我们至少可以这样做:

①通过二进制数作中间过渡,将它们互转:

(17)10=(10001)2=(010 001)2=(21)8

②用“除基(8)取余法”将十进制整数转换成八进制整数,用“乘基(8)取整法“将十进制纯小数转换成八进制纯小数;至于将八进制数转换成十进制数,只要“按位乘基幂”即可:

[例] ①由 8 17 ②∵ 0.6875

8

8 2……1(低位) (高位) 5. 500

0 8

……2(高位) (低位) 4.0000

得 (17)10=(21)8 ∴(0.6875)10=(0.54)8

③于是,(17.6875)10=(21.54)8

④而(21.54)8=2×81+1×80+5×8-1+4×8-2(按位乘基幂)

=16+1+5×0.125+4×0.015625=(17.6875)10

3. 二进制数与十六进制数之间的转换
⑴二进制数转换成十六进制数(四位分组转换法,即合四为一法)

[例](101101111100011.110101111)2=(0101 1011 1110 0011.1101 0111 1000)2

=(5BE3.D78)16

⑵十六进制数转换成二进制数(四位分组转换法的逆方法,即一分为四法)

[例](5BE3.D78)16 =(0101 1011 1110 0011.1101 0111 1000)2

=(101101111100011.110101111)2

看的懂吗,看不懂加我QQ我教你。我是学计算机的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-22
0,16,2进制的互相转换 所谓16进制,就是由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共16个数字组成。逢16进一位,下面就讲讲在没有任何工具的情况下如何将一10进制转化为16进制: 1000除以16得62余8,那么最低位为8,再将62除以16得3余14,那么倒数第2为E(14对于16进制来说是E),3比16小了,所以不用继续除了,总的就是3E8,为1000的16进制数。 想要将16进制的数转化为10进制,只需将上面的步骤反过来做就可以了。不用我多说吧! 2进制仅由0、1两个数字组成,逢1进一。要将一10进制化为2进制,介绍一个简单的方法,先将10进制的数化为16进制,再化为2进制,举个例子: 515对应16进制为203H,将203转为2进制则为0010(2) 0000(0) 0011(3),一个位数对2进制来说是4个字符。0H就是0000、1H就是0001、……、0EH就是1110、OFH为1111,大家可自己推一下。 总之大家一定要熟练掌握各个进制的互相转化,尤其是100以内10--16和16--10的互相转化要记住。 16-10H、32-20H、48-30H、64-40H、80-50H、96-60H、100-64H,255-FFH,65535-FF FFH,1677万-FF FF FFH,前为10进制,后有H的为16进制,这些能记住最好,以后修改就方便许多了 http://www.gonet8.com/Article/1/0/200510/1735.html
第2个回答  2014-05-22
用要转换的数除以【进制数】,每除一次有一个余数,把余数倒过来就行。
相似回答