N进制与⼗进制之间的转换(整数,⼩数)
1) 整数部分
⼗进制整数转换为N进制整数采⽤“除N取余,逆序排列”法。具体做法是:
将N作为除数,⽤⼗进制整数除以N,可以得到⼀个商和余数;
保留余数,⽤商继续除以N,⼜得到⼀个新的商和余数;
仍然保留余数,⽤商继续除以N,还会得到⼀个新的商和余数;
……
如此反复进⾏,每次都保留余数,⽤商接着除以N,直到商为0时为⽌。
把先得到的余数作为N进制数的低位数字,后得到的余数作为N进制数的⾼位数字,依次排列起来,就得到了N进制数字。
下图演⽰了将⼗进制数字36926转换成⼋进制的过程:
从图中得知,⼗进制数字36926转换成⼋进制的结果为110076。
下图演⽰了将⼗进制数字42转换成⼆进制的过程:
从图中得知,⼗进制数字42转换成⼆进制的结果为101010。
2) ⼩数部分
⼗进制⼩数转换成N进制⼩数采⽤“乘N取整,顺序排列”法。具体做法是:
⽤N乘以⼗进制⼩数,可以得到⼀个积,这个积包含了整数部分和⼩数部分;
将积的整数部分取出,再⽤N乘以余下的⼩数部分,⼜得到⼀个新的积;
再将积的整数部分取出,继续⽤N乘以余下的⼩数部分;
……
二进制小数如何转换成十进制如此反复进⾏,每次都取出整数部分,⽤N接着乘以⼩数部分,直到积中的⼩数部分为0,或者达到所要求的精度为⽌。
把取出的整数部分按顺序排列起来,先取出的整数作为N进制⼩数的⾼位数字,后取出的整数作为低位数字,这样就得到了N进制⼩数。下图演⽰了将⼗进制⼩数0.930908203125转换成⼋进制⼩数的过程:
从图中得知,⼗进制⼩数0.930908203125转换成⼋进制⼩数的结果为0.7345。
下图演⽰了将⼗进制⼩数0.6875 转换成⼆进制⼩数的过程:
从图中得知,⼗进制⼩数 0.6875 转换成⼆进制⼩数的结果为 0.1011。
如果⼀个数字既包含了整数部分⼜包含了⼩数部分,那么将整数部分和⼩数部分开,分别按照上⾯的⽅法完成转换,然后再合并在⼀起即可。例如:
⼗进制数字 36926.930908203125 转换成⼋进制的结果为 110076.7345;
⼗进制数字 42.6875 转换成⼆进制的结果为 101010.1011。
下表列出了前17个⼗进制整数与⼆进制、⼋进制、⼗六进制的对应关系:
注意,⼗进制⼩数转换成其他进制⼩数时,结果有可能是⼀个⽆限位的⼩数。请看下⾯的例⼦:
⼗进制0.51对应的⼆进制为,是⼀个循环⼩数;
⼗进制0.72对应的⼆进制为,是⼀个循环⼩数;
⼗进制0.625对应的⼆进制为0.101,是⼀个有限⼩数。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论