用Win7和Win8的计算器实现小数数制转换的方法
北京师范大学珠海分校林昌华
微软Windows XP、Win7和Win8操作系统附件中的计算器只能进行整数之间的数制转换,不能进行小数之间的数制转换。Win7和Win8的计算器更是将Windows XP计算器里的二进制、八进制和十六进制计算从科学型模式搬移到了程序员模式,十进制计算仍然保留在科学型模式里。这种变化给小数之间的数制转换带来了更多的麻烦。
作者在2012年推出了利用Windows XP的计算器进行小数数制之间转换的方法。在此基础上,作者又研究出利用Win7和Win8附件中的计算器进行十进制小数与二进制、八进制和十六进制小数转换的方法。希望对有需要的读者有所帮助。
对于二进制、八进制和十六进制小数相互之间的转换,可以先将它们转换成十进制小数,然后再将十进制小数转换成相应的非十进制小数。
1.十进制小数转换成非十进制的R进制小数的数学原理和方法
首先确定作为转换目标的非十进制的R进制数(z.x)R需要保留的小数位数i。于是可以写出数学转换公式:[(z.x)D· R i ] · R-i ≈Z D ·R-i =Z R ·R-i =(z.x)R
按照上述公式揭示的数学转换原理利用计算器进行转换操作的方法如下:
a)利用计算器的科学型模式,将十进制数(z.x)D乘以R i 。如果积有小数,将小数部分四
舍五入到个位,得到一个十进制整数Z D。
b)利用计算器的程序员模式,将Z D转换成R进制整数Z R。
c)将R进制整数Z R的小数点(默认在个位右侧)向左移动i位,得到转换结果(z.x)R。
1.1 将十进制小数转换成二进制小数的方法
例1.1,转换(865.1277)D→(含12位小数)B方法如下。以下的1)、2)、3)在计算器的科学型模式下操作;4)、5)、6)在计算器的程序员模式下操作;7)手动点小数点。
1)如图1.1.1,点击“查看”→“科学型”→计算212×865.1277=3543563.0592。
2)如图1.1.2,将计算结果3543563.0592减去小数0.0592。
3)如图1.1.3,点击“=”,仅保留整数3543563。鼠标右键点击计算器显示框→“复
制”。准备将十进制整数3543563粘贴到程序员模式。
4)如图1.1.4,点击“查看”→“程序员”。
5)如图1.1.5,点击“十进制”→右键点击计算器显示框→“粘贴”。将3543563粘
贴到程序员模式显示框。
6)如图 1.1.6,点击“二进制”,得到3543563转换成的二进制整数
(1101100001001000001011)B。
7)将小数点向左移动12位,即将其乘以2-12,得到最终转换结果为
(1101100001.001000001011)B。
图1.1.2 减去小数0.059