- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试优化除法和模块化操作以提高 C 代码的整体性能。
我有
UINT32 quo = num / 520 ;
UINT32 rem = num % 520 ;
大多数博客都提到了对 2 个操作的强大功能的优化,例如
num % (2^i) = num & (2^i -1 ).
我的代码中的 num 将是一个相当大的数字。
请为上述代码建议替代方法。
最佳答案
正如 Oliver 已经在评论中提到的,编译器应该自动优化除法和模运算。但是,如果您想了解更多关于常数除数除法的优化(如示例中的 520
),您可能会找到此链接 http://ridiculousfish.com/blog/posts/labor-of-division-episode-iii.html有帮助。
诀窍是找到一个合适的因子,这样除法运算就可以用乘法移位运算代替。
关于c - 非二次幂数的快速除法和模运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27709055/
我根据维基百科页面上指定的基本算法在 Haskell 中实现了二次筛。它适用于大多数整数,但它无法找到 n 次幂的数字 N 的因式分解。对于偶数次幂(平方),算法循环,对于奇数次幂,我找到了几个平方模
我必须多次提高 10 的两倍。 有没有比使用数学库 pow(10,double) 更有效的方法?如果重要的话,我的 double 总是在 -5 到 -11 之间为负数。 我假设 pow(double,
我想写一个函数来返回 2 的下一个幂。因此,如果输入是 18,它将返回 32,这是系列 2、4、8、16、32、64 中下一个大于 18 的数字 如果输入是 40,它将返回 64。 目前我正在使用以下
环境 Ubuntu 17.04,Chrome 60。 在没有警告/错误的情况下在本地运行此示例:https://github.com/mdn/webgl-examples/tree/gh-pages/
我有一个这样的数字序列: 1.687155E21 3.981457E19 0.5532155E21 3.018843E21 2.0532155E21 4.5532155E21 3.1637913E19
谁能告诉我一种方法来找到获得已知值所需的 2 的幂。例如,假设我需要找到 32 的 2 的幂。换句话说,如果我知道某个值,如何找到给出该值的 2 的幂。 if the given value is 6
我有两个值,一个是 X 的基数,一个是 N 的幂,如何才能得到 X 的 N 次幂 ans。 任何代码将不胜感激。 最佳答案 你正在寻找这个: https://api.dartlang.org/stab
我很难找到解决这个问题的方法。我正在尝试用Java开发一个程序,该程序将一个数字作为输入并打印每个数字的幂总和,使得第n位数字的幂是第(n-1)位数字。然而,对于第一位数字,功率应该是最后一位数字的功
我已经做到了这一点,但我不知道如何进一步进行 #include int main() { int x,n,m,i; printf("Enter the value of x: "); scanf("%
如果我有一个介于 100 和 1000 之间的数字,我想得到值 3,因为 10^3 = 1000。同样,如果我有一个介于 10 和 100 之间的数字,我想得到值 2,因为 10^2是 100。 如果
我必须编写一个程序来计算 2 的 2010 次方 的次方并求出数字的总和。例如: if `2 power 12 => gives 4096 . So 4+0+9+6 = 19 . 现在我需要为 2 p
我在最近的比赛中遇到了一个问题。 我无法找到解决方案,并且还没有针对该问题的社论。 Question Link 我在这里引用问题陈述也是为了以防链接不起作用。 找出大于或等于 A 且小于或等于 B (
我找不到用于计算 2^n 的 SSE 指令对于 vector __m128i 32 位整数。 是否有执行以下伪代码的指令或函数? __m128i power_of_two(__m128i b) {
n 的 n 次方(即 n^n)是多项式吗? T(n) = 2T(n/2) + n^n 可以用master方法求解吗? 最佳答案 它不仅不是多项式,而且比阶乘还差。 O(n^n) 支配 O(n!)。同样
我是一名优秀的程序员,十分优秀!