四舍五入代表什么生肖?
这个就是传说中的先入为主吧,其实啥也不代表 首先把10.9546061283……舍掉,看做10;然后把9.5460612834……入为整数九,最后就剩下9.5。 所以这种算法最终结果并不精确(事实上它根本不考虑误差大小),但是很巧的是这样的误差对于任何一鼠都是成立的——无论它是大还是小。所以这种算法就跟老鼠没有任何关系了嘛! 但是如果是这样计算的话: 那么最终结果就会是大而复杂的分数,这显然并不是一种“四舍五入”的算法。因为即使考虑误差,它也不能保证相同误差的同一方向上的所有数都舍去/入。所以上面算出来的只是某个老鼠的解,而并不是对所有老鼠都成立的解。这就是一种比较“合理”的算法,虽然它比上面的第二种要复杂一些。
当然上面两种算法都不涉及小数点后面的数字如何保存和表示的问题。如果非要解决这些问题,请参考计算机中的浮点数(double/float)表示法。这里不再赘述。 顺便提一下,在计算机中大多数情况下遇到的情况是:一个数后边跟了很多0,这种情况一般被称为“科学计数法”,它的本质是在这个小数的末尾加很多个0,然后借助科学记数法来存储。举个例子: 如果把上述过程用计算机语言来实现,那么上面的表达式就可以写作: x=(-1)^n*Math.pow(2,e)*(1+((x-1)/2)^10) 这个函数有个特性:当n为偶数时,它等于0或者大于0且只包含正整数的因子;当n为奇数时,它必然大于0且无穷无尽。所以只要把它跟另一个变量相乘,再求和/求积,就能得到我们想要的解。