Replymessage unavailable
几进制和算法复杂度是无关的。一个十进制的n_d位数,转化为二进制就是n_b = n_d log_2(10)位数(向上取整)。位数本身不会影响阶数。
如果要谈论CPU的计算逻辑。如果考虑CPU里面可能预先集成的浮点数运算模块,如果考虑64位的浮点数,那么这个运算模块每次运算都固定由以下三部分组成:
1. 最多2次11位整数之间的加减法。
2. 最多1次53位二进制整数之间的乘法。
3. 根据IEEE754规则舍入。
这东西根本不需要考虑是否是O(n),它直接是O(53^2+2*11)=O(1)的。
如果不考虑CPU里面集成的运算模块,而是考虑图灵机所能实现的算法。那么根据图灵完备性,十进制的算法必然能被CPU所处理。
如果不考虑图灵机中的状态,只考虑图灵机。那么一切乘法算法都和图灵机无关。
换句话说,「是否符合CPU的计算逻辑」不可能能够拿来区分这个算法到底是人在用还是机器在用。