(58.125)10 = (111010.001)2
十进制转换成八进制十进制数转换成八进制数的过程可以分成以下两步:整数部分不断除以基数 8,直到商为零,把得到的余数逆序排列起来;小数部分不断乘以基数 8,直到积的小数部分为零,把得到的积的整数部分正序排列起来。例子以 1508.3125 为例,它的整数部分是 1508,小数部分是 0.3125。1) 整数部分的转换:除法商余数1508/81884 (最低位)188/823423/8272/802(最高位)⇒ (1508)10 = (2744)82) 小数部分的转换乘法积整数部分0.3125 x 82.52(最高位)0.5 x 84.04(最低位)⇒ (.3125)10 = (.24)8将整数部分和小数部分合并起来,得到八进制数字 2744.24,也即:(1508.3125)10 = (2744.24)8
十进制转换成十六进制十进制数转换成十六进制数的过程可以分成以下两步:整数部分不断除以基数 16,直到商为零,把得到的余数逆序排列起来;小数部分不断乘以基数 16,直到积的小数部分为零,把得到的积的整数部分正序排列起来。例子以 691780.548828125 为例,它的整数部分是 691780,小数部分是 0.548828125。1) 整数部分的转换:除法商余数691780/16432364 (最低位)43236/16270242702/16168E168/1610810/160A(最高位)⇒ (691780)10 = (A8E44)82) 小数部分的转换乘法积整数部分0.548828125 x 168.781258(最高位)0.78125 x 1612.5C0.5 x 168.08(最低位)⇒ (.548828125)10 = (.8C8)16将整数部分和小数部分合并起来,得到八进制数字 A8E44.8C8,也即:(691780.548828125)10 = (A8E44.8C8)16
其它进制转换成十进制任何一种进制转换成十进制的算法都是一样的,就是“按权相加”。将 r 进制转换成十进制可以分以下两步进行:将每一位的数码乘以该位的权重;把得到的所有积相加。将二进制转换成十进制以二进制数字 1101.101 为例,它在数学上可以写作:(1101.101)2 = (1 × 23) + (1 × 22) + (0 × 21) + (1 × 20) + (1 × 2-1) + (0 × 2-2) + (1 × 2-3)⇒ (1101.11)2 = 8 + 4 + 0 + 1 + 0.5 + 0 + 0.125 = 13.625⇒ (1101.11)2 = (13.625)10
所以,二进制 1101.101 转换成十进制的结果是 13.625。将八进制转换成十进制以八进制数字 145.23 为例,它在数学上可以写作:(145.23)8 = (1 × 82) + (4 × 81) + (5 × 80) + (2 × 8-1) + (3 × 8-2)⇒ (145.23)8 = 64 + 32 + 5 + 0.25 + 0.05 = 101.3⇒ (145.23)8 = (101.3)10
所以,八进制 145.23 转换成十进制的结果是 101.3。将十六进制转换成十进制以十六进制数字 1A5.2C 为例,它在数学上可以写作:(1A5.2C)16 = (1 × 162) + (10 × 161) + (5 × 160) + (2 × 16-1) + (12 × 16-2)⇒ (1A5.2C)16 = 256 + 160 + 5 + 0.125 + 0.046875 = 421.171875⇒ (1A5.2C)16 = (421.171875)10
所以,十六进制 1A5.2C 转换成十进制的结果为 421.171875。二进制、八进制、十六进制之间的转换这几种数字系统的基数存在次方的关系,转换起来非常简单。二进制转换成八进制二进制数的基数是 2,八进制数的基数是 8,因为23 = 8,所以每三位二进制数可以转换成一位八进制数。将二进制数转换成八进制数的步骤为:对二进制数进行划分,每三位为一组,整数部分从右往左进行划分,小数部分从左往右进行划分。不足三位时,整数部分高位用 0 补齐,小数部分低位用 0 补齐。按照从左往右的顺序,依次写出每组二进制数对应的八进制数。每组二进制数都有八种不同的组合,分别对应不同的八进制数字,如下所示:000 = 0 001 = 1 010 = 2 011 = 3100 = 4 101 = 5 110 = 6 111 = 7例子把二进制数 101110.01101 转换成八进制数:(101110.01101)2 = (101) (110) . (011) (01)2⇒ (101110.01101)2 = (101) (110) . (011) (010)2⇒ (101110.01101)2 = (56.32)8
所以,二进制数 101110.01101 转换成八进制的结果为 56.32。二进制转换成十六进制这个过程和「二进制转换成八进制」的过程类似。二进制数的基数是 2,十六进制数的基数是 16,因为24 = 16,所以每四位二进制数可以转换成一位十六进制数。将二进制数转换成十六进制数的步骤为:对二进制数进行划分,每四位为一组,整数部分从右往左进行划分,小数部分从左往右进行划分。不足四位时,整数部分高位用 0 补齐,小数部分低位用 0 补齐。按照从左往右的顺序,依次写出每组二进制数对应的十六进制数。每组二进制数都有十六种不同的组合,分别对应不同的十六进制数字,如下所示:0000 = 0 0001 = 1 0010 = 2 0011 = 30100 = 4 0101 = 5 0110 = 6 0111 = 71000 = 8 1001 = 9 1010 = A 1011 = B1100 = C 1101 = D 1110 = E 1111 = F例子把二进制数 101110.01101 转换成十六进制数:(101110.01101)2 = (10) (1110) . (0110) (1)2⇒ (101110.01101)2 = (0010) (1110) . (0110) (1000)2⇒ (101110.01101)2 = (2D.68)16
所以,二进制数 101110.01101 转换成十六进制的结果为 2D.68。八进制转换成二进制这是一个和「二进制转换成八进制」相反的过程,具体步骤为:将八进制数字的每一位分别转换成一组三位的二进制数字。按照从左往右的顺序,依次写出每组二进制数字。整数部分最高位的 0 和小数部分最低位的 0 是多余的,直接去掉。例子把八进制数 145.23 转换成二进制数:(145.23)8 = (001) (100) (101) . (010) (011)2⇒(145.23)8 = (1100101.010011)2
所以,八进制数字 145.23 转换成二进制的结果为 1100101.010011。十六进制转换成二进制这是一个和「二进制转换成十六进制」相反的过程,具体步骤为:将十六进制数字的每一位分别转换成一组四位的二进制数字。按照从左往右的顺序,依次写出每组二进制数字。整数部分最高位的 0 和小数部分最低位的 0 是多余的,直接去掉。例子把十六进制数 65.4C 转换成二进制数:(65.4C)16 = (0110) (0101) . (0100) (1100)2⇒(65.4C)16 = (1100101.010011)2
所以,十六进制数 65.4C 转换成二进制的结果为 1100101.010011。八进制转换成十六进制先将八进制数转换成二进制数,再将二进制数转换成十六进制数。例子把八进制数 145.23 转换成十六进制数。1) 先转换成二进制数:(145.23)8 = (001) (100) (101) . (010) (011)2⇒ (145.23)8 = (1100101.010011)2
2) 把得到的二进制数转换成十六进制数:(1100101.010011)2 = (110) (0101) . (0100) (11)2 ⇒ (1100101.010011)2 = (0110) (0101) . (0100) (1100)2 ⇒ (1100101.010011)2 = (65.4C)16
所以,八进制数 145.23 转换成十六进制的结果为 65.4C。 十六进制转换成八进制先将十六进制数转换成二进制数,再将二进制数转换成八进制数。例子把十六进制数 65.4C 转换成八进制数。1) 先转换成二进制数:(65.4C)16 = (0110) (0101) . (0100) (1100)2⇒ (65.4C)16 = (1100101.010011)2
2) 把得到的二进制数转换成八进制数:(1100101.010011)2 = (1) (100) (101) . (010) (011)2⇒ (1100101.010011)2 = (001) (100) (101) . (010) (011)2⇒ (1100101.010011)2 = (145.23)8
所以,十六进制数 65.4C 转换成八进制的结果为 145.23。