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碼得以轉換。另外,樓上的朋友轉換的數並非十六進位制,而是十進位制。
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碼得以轉換。另外,樓上的朋友轉換的數並非十六進位制,而是十進位制。