快速乘法
对于 a * b 通过将 b 转换成二进制表示,将乘法转换成加法和位运算。
如
$$
3 * 5 = 3 * (101) = 3 * (2^0 + 2^2)
$$
1 | public static long quickMultiply(long a, long b) { |
快速幂
与快速乘法类似,将加操作替换成乘
1 | public static long quickPow(long a, long b) { |
对于 a * b 通过将 b 转换成二进制表示,将乘法转换成加法和位运算。
如
$$
3 * 5 = 3 * (101) = 3 * (2^0 + 2^2)
$$
1 | public static long quickMultiply(long a, long b) { |
与快速乘法类似,将加操作替换成乘
1 | public static long quickPow(long a, long b) { |