16进制转换成二进制怎么算?

如题所述

第1个回答  2022-07-13
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。

还有一种比较简单的方法,楼主可以直接查询BCD码,任何一个十六进制数都可以通过查询BCD码得以转换。

另外,楼上的朋友转换的数并非十六进制,而是十进制。