1. 二进制1000专换成16进制用8421转换法,即自左向右,
8*1+4*0+2*0+1*0=0x8,这是所有十六进制转二进制的通用转换方式,位对位对齐转换,分别乘以8421,然后相加。如果二进制数不够位,应在整数位左边或小数位右边用0补足,凑足4的倍数。当然整数部分和小数部分要分别转换。如:将111100转换为16进制,用8421转换法,但只能对齐二进制的低四位,高二位无法对齐的情况下补0,变为00111100B,再用8421:0*8+0*4+1*2+1*1+1*8+4*1+0*2+0*1=0x3C。注意:十六进制数的一位相当于二进制数的四位。
2. 十六进制转换二进制:用8421拼凑法,首先要清楚的是:四位二进制数表示十六进制的一位,根据以上例子,转换0x3C。首先转换二进制的高四位,也就是十六进制3这个数,可以将8421四位数相加拼凑,如果能得出3,就将该位设置为1,其余为0。这四个数字中,仅有2+1才能得到3,因此,转换为二进制就是0011。低四位,十六进制数C(十进制数12),只有8+4=12,设置为1,其余为0,就得到1100,高低位结合起来,二进制数为00111100.
结合你的例子,转换0x8,8421中仅有8与其相匹配,直接设该位为1,其余为0,得1000B。
在中学信息技术教材中,数制转换是一个非常重要的知识点,特别是二进制和十进制的转换(仅限于整数)在高中信息技术教材中有明确的要求。教材中虽然有“按权相加”(二进制转换为十进制)和“除二取余法”(十进制转换为二进制)二种方法。但这两种方法都太繁琐,再加上现在高中信息技术会考都采用上机考核,根本不允许带纸和笔,这给学生解答这类题型造成了不小的麻烦。我根据多年的教学经验,总结出了一个简单快捷的方法,取名“8421”法,仅供同行参考。
根据二进制的原则“逢二进一”,我们把2的n次方列出分别是:
20=1 21=2 22=4 23=8 24=16 25=32 26=64……
“8421”法的原理说白了就是一种凑数法,按2的n次方的值列出,根据不同的情况进行“凑数”。
一、对于二进制转换成十进制数
例如:二进制数1010转换成十进制数
8 4 2 1
二进制数: 1 0 1 0 (结果为凡是1对应的数相加:8+2=10)
例1:110转换成十进制数
8 4 2 1
1 1 0 (结果为凡是1对应的数相加:4+2=6)
例2:11100转换成十进制数
16 8 4 2 1
1 1 1 0 0 (结果为凡是1对应的数相加:16+8+4=28)
二、对于十进制转换成二进制数
例如:十进制数不胜数10转换成二进制数
8 4 2 1 (因为10=8+2)
1 0 1 0 (故凡是凑到的8和2下面都是1,没有凑到的为0)
例3:十进制数6转换成二进制数
8 4 2 1 (因为6=4+2)
0 1 1 0 (故凡是凑到的4和2下面都是1,没有凑到的为0)
例4:十进制数28转换成二进制数
16 8 4 2 1 (因为16+4+8=28)
1 1 1 0 0 (凑到的为1,没有凑到的为0)
当然,这种方法对数值比较小的数要容易的多,但对于一般的考试已经是足以应付了。另外,也可以采用Windows下附件里的计算器,把查看菜单选为“科学型”。这样,不管是多么复杂的数值转换都是易如反掌了。
因篇幅问题不能全部显示,请点此查看更多更全内容