3

バイナリシステムの素数間の関係を述べる理論はありますか?つまり、10進法では、「1で割った数自体が素数である」というパターンがあります。

これは私が子供の頃に私の学校で学びました。しかし、最近の計算はビットに対して実行されます。つまり、ビットは1と0です。しかし、私たちは学校の知識に基づいて素朴な性質を計算します。数が少ない場合は正常に動作します。しかし、整数で最大の素数を計算する質問は、この論理は意味がありません。

したがって、バイナリ表現で素数間の関係を示す理論が存在する場合(すでに存在している可能性があります)、計算能力を大幅に節約できます。たとえば、素数の2進表現から始めて、ビットを変更または追加すると、次の素数が生成され、計算能力が大幅に節約されます。

これは意味がないかもしれません。しかし、これらは昨夜からの私の考えでした。私が間違っているか、まったく意味がない場合は、私を訂正してください。

4

6 に答える 6

4

2進数は、2の累乗の合計として数値を書き込んでいます。数学的な意味での小数と大きな違いはありません。したがって、10進数で並列を持たない2進数の定理はありません。

10進数では、2と5を除いて、偶数または5で終わる数を素数にすることはできません。2進数では、(2)0を除いて、で終わる数を素数にすることはできません10

編集:高度な数学ではなく、2進算術最適化を使用して素数をすばやく生成する方法の例については、数年前に書いたこの回答を参照してください。これはErastosthenesのふるいにすぎませんが、10進法よりも前の数千年前の数学は、依然としてSSEベクトル化に適しています。

于 2012-07-05T08:51:24.770 に答える
4

メルセンヌ素数は興味深い素数であり、バイナリ表現には何も含まれません0(つまり、s しかありません1) 。

于 2016-03-21T23:23:05.620 に答える
1

数値の素数性を確立するために CPU サイクルを削減したい場合は 、楕円曲線法を使用した因数分解を調べる必要があります。正確な仕組みはわかりませんが、非常に高速です。

しかし、私はすべてのコメントに同意します。数値が素数であるかどうかを確立するために、バイナリ表現でビットを操作する利点はありません。

Emacsで素因数分解を実行することもできます

  • Mx 計算
  • 大量に入れる
  • kf
于 2012-07-06T20:01:29.470 に答える
0

この件に関して、次の興味深い情報を見つけました。George Spelvin は、電子メール スレッドに次のように書いています。

私が注意することの 1 つは、素数を選択するためのコメントのアドバイスが、Knuth の引用を誤っていることです! Knuth は、(vol. 3 セクション 6.4) 数値はワード サイズに対して素数である必要があると述べています。これは、バイナリ コンピューターでは単純に奇数を意味します。

https://lwn.net/Articles/687494/

于 2021-10-19T00:12:52.287 に答える