题目量有点大,如果详细地讲的话!
其实,无论是
二进制、八进制、
十六进制,还是我们常见的
十进制,都符合相同的规律。比如:(其中 a、b、c、d、e 是某位上的一个整数,n 是进制数)
(abc.de)n = a × n^(2) + b × n^1 + c × n^0 + d × n^(-1) + e × n^(-2)
所以:
(1101)2 = 1×2^3 + 1×2^2 + 0×2^1 +1×2^0 = 8 + 4 + 0 + 1 = (13)10
(157)8 = 1×8^2 + 5×8^1 + 7×8^0 = 64 + 40 + 7 = (111)10
(2B6)16 = 2×16^2 + 11×16^1 + 6×16^0 = 512 + 156 + 6 = (674)10
二进制转化成八进制,以小数点为界:小数点前面向左,每3位作为一个数;小数点后面向右,也是每3位作为一个数。不足的部分向后补0:
(11110.11101)2 = (11,110.111,010)2 = (36.72)8
十六进制转化成八进制比较麻烦,还是先转化成二进制,再转化成八进制更方便些:
(F6.B8)H =(1111,0110.1011,1000)2 = (11,110,110.101,110,000)2 = (366.560)8
十进制转化为 2 进制、
8进制 或
16进制,小数前面的整数部分就用相应的 2、8 或 16去除。从后向前依次记下
余数,然后继续用相应的 2、8 或 16去除所得的商数。直到最后一个余数为止;
对于小数点后面的数,就用小数部分去乘以相应的 2、8 或 16。然后从左向右依次记下所得数的整数部分。然后继续用相应的 2、8 或 16 去乘以所得的积的小数部分。直到最后小数部分为0 或达到相应的精度位数。
(268.5)10 = (268)10 + (0.5)10
= (256 + 12)10 + [8×16^(-1)]10
= (1×16^2 + 0×16^1 + 12×16^0)10 + (0.8)H
= (10C)H + (0.8)H
= (10C.8)H
(48.75)10 = (48)10 + (0.75)10
= (32 + 16)10 + (0.5 + 0.25)10
= (1×2^5 + 1×2^4+0×2^3 + 0×2^2+0×2^1+0×2^0)10 + [1×2^(-1) + 1×2^(-2)]10
= (11,0000)2+(0.11)2
= (11,0000.11)2本回答被提问者采纳