十进制数 $111.111$ 的二进制表示可以是下面的( )。
答案A。进制转换要熟练掌握各进制间的转换方法。注意0xf=15(十六进制),015是八进制(十进制13),两者不等。
二进制小数转十进制:小数点后第一位是2⁻¹=0.5,第二位是2⁻²=0.25。容易忽略负幂次。
【考点】进制转换|二进制小数表示
本题考查《GESP 考试大纲》三级“数据表示与运算”模块中的小数进制转换。命题人意在卡住考生整数与分数部分分离计算的薄弱环节,绝大多数人只记得整数除2取余,却忘记分数乘2取整,导致直接选错。
先拆成整数111和分数0.111。整数部分连续除以2取余:111→55→27→13→6→3→1→0,余数倒序得1101111。分数部分连续乘2取整:0.111×2=0.222(0)→0.444(0)→0.888(0)→1.776(1)→0.776(1)→0.552(1)→0.104(0)→0.208(0)→0.416(0)→0.832(0)→1.664(1)……得0.0001110001……拼起来就是1101111.0001110001。
选项B整数部分错成1101110,是除2取余时误减了1;选项C、D分数部分错成0.100111……或0.001111……,是乘2取整时把前三个0看成了1,或把第5位1看成了0。这类题最阴险的地方在于分数部分无限循环,考生若只机械记忆"0.5=0.1""0.25=0.01"等简单转换,遇到0.111这种非2的幂次分数就会完全迷失。
命题人若把分数改为0.5,答案就变成1101111.1;若把题目改成八进制,111.111八进制转二进制就得先把八进制转十进制再转二进制。刷到类似题先问自己:"这数字是不是2的幂次?" "分数部分会不会循环?"