sin*_*ity 6 algorithm math nth-root
如果x'是最大整数,则x'是y的第n个根,使得x ^ n <= y.x,x'和y都是整数.有没有有效的方法来计算这样的第n个根?我知道这通常是由第n个根算法完成的,但这里的难点是一切都是整数,因为我正在使用嵌入式系统.
顺便说一句,我甚至尝试从1到y进行二进制搜索以识别最大x,使得x ^ n <= y,但由于x ^ n容易溢出,尤其是当n很大时,它不起作用.
Pat*_*k87 8
为最大x的给定y存储一个表,使x ^ y不溢出.使用这些值进行二分查找; 这样,只要x和n具有相同(整数)类型,就不会有溢出和整齐的算法.对?
注意:对于y> 32,对于32位整数,x的最大值为2 ...换句话说,您的表将与系统理解的整数中的位数大小相同.
归档时间:
14 年,3 月 前
查看次数:
2304 次
最近记录:
12 年,3 月 前