相关疑难解决方法(0)

快速bignum平方计算

为了加快我的bignum除数,我需要加速y = x^2bigints的操作,bigints被表示为无符号DWORD的动态数组.要明确:

DWORD x[n+1] = { LSW, ......, MSW };
Run Code Online (Sandbox Code Playgroud)
  • 其中n + 1是使用的DWORD的数量
  • 所以数量的价值 x = x[0]+x[1]<<32 + ... x[N]<<32*(n)

问题是:如何在y = x^2没有精度损失的情况下尽快计算? - 使用C++和整数算术(32位带Carry)处理.

我目前的方法是应用乘法y = x*x并避免多次乘法.

例如:

x = x[0] + x[1]<<32 + ... x[n]<<32*(n)
Run Code Online (Sandbox Code Playgroud)

为简单起见,让我重写一下:

x = x0+ x1 + x2 + ... + xn
Run Code Online (Sandbox Code Playgroud)

其中index表示数组内的地址,因此:

y = x*x
y = (x0 + x1 + x2 + ...xn)*(x0 + x1 + x2 + ...xn)
y = x0*(x0 …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm multiplication bignum sqr

14
推荐指数
1
解决办法
3557
查看次数

为什么冒泡排序效率不高?

我正在使用 node.js 开发后端项目,并将实现排序产品功能。我研究了一些文章,有几篇文章说冒泡排序效率不高。冒泡排序在我之前的项目中使用过,我很惊讶为什么它很糟糕。谁能解释为什么它效率低下?如果您可以通过 c 编程或汇编命令进行解释,将不胜感激。

c sorting performance assembly node.js

2
推荐指数
1
解决办法
746
查看次数

标签 统计

algorithm ×1

assembly ×1

bignum ×1

c ×1

c++ ×1

multiplication ×1

node.js ×1

performance ×1

sorting ×1

sqr ×1