問題タブ [gmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4131 参照

c - GMPはmpzをmpfに変換します

私はGMPを使用していますが、をすばやくに変換できるようにしたいと考えてmpzmpfます。私は図書館を調べましたが、あまり見つかりませんでした。私が考えることができた最高のものはこれでした:

このソリューションでは、文字列との間で繰り返し変換する必要があります。また、によって制限されており、必要SIZEな大きさを事前に決定する方法がわかりませSIZEん。この変換を行うためのより良い方法はありますか?

0 投票する
2 に答える
330 参照

gmp - GMP演算操作

ご存知のように、GMP は大きな整数を処理するための最も一般的なツールです... GMP に関して 2 つの質問があります。

  1. 内部計算は GMP ライブラリでどのように行われますか? 1 つの整数が 2 バイトで、別の整数が 3 バイトだとすると、これらの raw ビットに対して内部で実行される操作は何でしょう!??
  2. GMPは他の一般的なライブラリと比べてどのくらい高速なのか!?

前もって感謝します。これらのことについてこれらを知ることは、私のプロジェクトにとって非常に重要です。

0 投票する
1 に答える
116 参照

internals - GMP..バイナリ実行

GMPライブラリで...

整数に対する演算の内部実行はどのように行われますか?6 = 0110,4 =0100..および6+4 = 0110 + 0100 ..のように、乗算、除算、およびその他の演算の場合はどうなりますか!?? オーバーフロービットなどをどのように制御しますか...

0 投票する
5 に答える
271 参照

assembly - GMP-Assembly コード?

UBUNTU および G++ コンパイラを使用して gmp-5.0.0 im 用に作成されたプログラムの ASSEMBLY コードを見つけることができる場所..コードをコンパイルするためのコマンドは「g++ test.cc -o outp -lgmp」です。

実際、1 と 0 に関して内部で何が起こっているかを知りたいです...メモリ割り当てがどのように行われ、RAW ビットで操作がどのように実行されるかを知りたいです!!

0 投票する
1 に答える
752 参照

c - bigintライブラリをどのように作成しますか/libgmpはどのように機能しますか?

さまざまなプラットフォームでのC用のBigIntライブラリの数とその使用方法を知っていますが、興味をそそられます。それらはどのように機能するのでしょうか。自分のライブラリを構築するにはどうすればよいでしょうか(試してみるつもりはありません。車輪の再発明をする意味はありませんが、それがどのように行われるかに興味があります)。手順/基本を説明する可能性のあるチュートリアルなどを誰かに教えてもらえますか?

ありがとう、

ナインフィンガー。

0 投票する
5 に答える
1163 参照

c++ - この C++ 関数を long からこの他の型に変換するにはどうすればよいですか?

「s」と呼ばれるこの元の C++ 関数があります。

この関数を GMP の mpz 型を使用するように変換して、任意の長さの整数を使用できるようにするのに苦労してきました。

これは私の試みです:

元のプログラム全体はここにあります: http://pastebin.com/mf751592

私は何を間違っていますか?型 mpz_t を返すことができなかったので、最初は問題があったようです。その代わりに、関数が返すものへのポインターを渡しました。

私はまだそれに苦労しています。誰かが私を正しい方向に向けることができますか?

この行:次の for (mpz_t i, mpz_init(i), mpz_set_str(i, "2", 10); mpz_cmp(i,m)< 0; mpz_add_ui(i, i, 1))
エラーが表示されます: 23: エラー: この構文を使用して配列を初期化できません

0 投票する
2 に答える
1319 参照

c - Linux で GMP ライブラリを使用できない理由

cを使用してLinuxでいくつかのコードを書いていました。コンパイルしようとすると、次の応答が得られました。

実際、私が使っていた gmp の機能はすべて見つかりませんでした。

gmp に問題があるようです。

誰かがそれを解決する方法を教えてもらえますか? 前もって感謝します!

0 投票する
1 に答える
707 参照

c - CでGMPlibを使用してmpz_tを2つの部分に分割するにはどうすればよいですか?

cでGMPを使用すると、10進形式の大きな整数「mpz_tn」があります。どうすれば2つの部分に分割できますか?実際、これらの2つの部分は、バイナリで同じ長さである必要があります。

たとえば、nを112ビットのバイナリに変換して、それを256ビットの部分に分割したいとします。

ありがとう

0 投票する
1 に答える
183 参照

precision - GMPは壊れていますか?それはできません!

GMP ライブラリの MPQ 変数で get_d() を呼び出すと、最大で 6 桁しか取得できません。

C++ は、double に対して 8 バイトまたは ~15 桁を提供することになっています。6 桁しか表示されないのはなぜですか?

0 投票する
2 に答える
898 参照

c - Diffie-Hellman でのパラメータの選択

ここでこの質問をするのは適切ではないかもしれません...とにかく、DHの実装にgmpライブラリを使用しようとしていますが、ここで得た問題は次のとおりです。

一度、出力を観察するためにテストを行っていたとき、素数と秘密鍵の大きな値が選択されましたが:

  • p は 10 進数で約 300 桁以上の長さでした
  • a、bの長さは約100桁でした

最後に、おそらく10進数で10 ^ 8より小さい、非常に小さい共有秘密鍵を取得しました...

この問題は何度も発生することはなく、実際にはすべての観測中に 1 回だけ発生しました...しかし、これはあまり良くありませんでした。

だから、これを回避できるいくつかの方法があるのだろうか...どうもありがとう