二进制,十六进制,十进制之间怎么换算?
1个回答
展开全部
我们先从熟悉的十进制说起,十进制即逢十进一,由0-9组成,它的每一位都是十的幂,比如123,个位是10的0次方,十位是10的1 次方,百位是10的2次方,因此123其实就相当于1×10(2)+2×10(1)+3×10(0)=1×100+2*10+3=123(注:括号内的数表示次方),对于二进制和十六进制,转成十进制也是同样的道理,二进制的每一位是2的幂,十六进制的每一位是16的幂,把十进制转换中的10换成2或16即可。通常将二进制,十六进制转换成十进制的方法叫安全展开法。比如:\x0d\x0a(1)二进制——>十进制:\x0d\x0a 二进制数1101=1×2(3)+1×2(2)+0×2(1)+1×2(0)\x0d\x0a =8+4+0+1\x0d\x0a =13\x0d\x0a(2)十六进制——>十进制:\x0d\x0a 十六进制数12=1×16(1)+2×16(0)=16+2=18\x0d\x0a\x0d\x0a 反过来:十进制转二进制和十六进制,分别用除2取余法和除16取余法。比如:十进制数13 除以2,商为6,余数为1,\x0d\x0a将得到的商6继续除以2,商为3,余数为0,\x0d\x0a将得到的商3继续除以2,商为1,余数为1,\x0d\x0a将得到的商1继续除以2,商为0,余数为0。\x0d\x0a当算到商为0时,结束。结果从下往上看,应该为1101。\x0d\x0a\x0d\x0a 十六进制转十进制一样的,只是是除以16。\x0d\x0a\x0d\x0a二进制转十六进制:\x0d\x0a 因为二进制数仅由0和1组成,你只需记住,二进制数的低位到高位分别表示1,2,4,8,16,32??,即2的(n-1)次方即可。对于四位二进制数,从高到低分别是8,4,2,1。二进制转16进制,只需将2进制数从右向左每四位一组合,每一个组合以一个十六进制数表示。比如:\x0d\x0a(3)1110110四个四个组合后相当于0011 1010(注意位数不足补0),\x0d\x0a 0011=2+1=3,1010=8+2=A,所以转换成的十六进制数是3A.\x0d\x0a\x0d\x0a反过来,十六进制转二进制,只需把十六进制的每一位分解成四位二进制数即可,比如十六进制的35,首先变3,3介于2和4之间,就想办法把2和1凑成3,2+1=3,所以只有第一位和第二位是1,即0011;再变5,5介于4和8之间,就要想办法把8以前的4,2,1三位数凑成5,可知4+1=5,所以第一位和第三位为1,即0101,所以转换成的二进制数是00110101。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询