进制之间的互相转换

一.位权

数制中每一个固定位置对应的单位值称为位权。
对于多位数,处在某一位上的“1”所表示的数值的大小,称为该位的位权。例如十进制第2位的位权为10,第3位的位权为100;而二进制的第2位的位权为2,第3位的位权为4,对于N进制数,整数部门第i位的位权为N^(i-1) ,而小数部分第j位的位权为N^-j.

二. 十进制转二进制

整数部分: 十进制除2取余数。余数为权位上的数,得到的商值继续除以2,直到商为0为止。

image.png

小数部分: 十进制小数转换成二进制小数采用“乘2取整,顺序排列”。
用2乘以十进制小数,然后将积的整数部分按照顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位的有效位。
例如0.425 转换成二进制

0.425 * 2 = 0.85
0.85 * 2 = 1.7
0.7 * 2 = 1.4
0.4 * 2 = 0.8
0.8 * 2 = 1.6
0.6 * 2 = 1.2
....
0.428 = 0.011011B

0.125 转换成二进制

0.125 * 2 = 0.25 
0.25 * 2 = 0.5
0.5 * 2 = 1

0.125 = 0.001B

三.十进制转八,十六进制

整数部分:十进制数 除8/16 取余数。余数为权位上的数,得到的商值继续除以8/16,直到商为0为止。
小数部分: 十进制小数转换成二进制小数采用“乘8/16取整,顺序排列”。
用8/16乘以十进制小数,然后将积的整数部分按照顺序排列起来,先取的整数作为8/16 进制小数的高位有效位,后取的整数作为低位的有效位。

四.二进制,八进制,十六进制转换成十进制。

每一个2/8/16 进制数每位上的数乘以位权没然后将得到的数字再加在一起。整数部分和小数部分转换方法相同

五.二进制转八进制,十六进制

二进制转换成八/十六进制的方法是,取三/四合为一位数。
从二进制的小数点为分界点,向左(或向右)每三/四位取成一位,分好组以后,对照二进制与八/十六进制数的对应表,将三/四位二进制按权相加,得到的就是八/十六进制数。这里需要注意的是,在向左(或向右)取三/四时,取到最高位(最低位)如果无法凑足三/四位,就可以在小数点的最左边(最右边)补0,进行换算

六.八进制,十六进制转二进制

方法. 取一分为三/四,即将一位8/16进制数分解成三/四位二进制数,用三/四位二进制按权相加去凑这位8/16进制数,小数点位置照旧

七.八进制转十六进制,十六进制转八进制

八进制转十六进制:将八进制转换为二进制,然后再将二进制转换为十六进制,小数点位置不变。
十六进制转八进制:将十六进制转换为二进制,然后再将二进制转换为八进制,小数点位置不变

你可能感兴趣的:(进制之间的互相转换)