問題タブ [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.
c - GMPはmpzをmpfに変換します
私はGMPを使用していますが、をすばやくに変換できるようにしたいと考えてmpz
いmpf
ます。私は図書館を調べましたが、あまり見つかりませんでした。私が考えることができた最高のものはこれでした:
このソリューションでは、文字列との間で繰り返し変換する必要があります。また、によって制限されており、必要SIZE
な大きさを事前に決定する方法がわかりませSIZE
ん。この変換を行うためのより良い方法はありますか?
gmp - GMP演算操作
ご存知のように、GMP は大きな整数を処理するための最も一般的なツールです... GMP に関して 2 つの質問があります。
- 内部計算は GMP ライブラリでどのように行われますか? 1 つの整数が 2 バイトで、別の整数が 3 バイトだとすると、これらの raw ビットに対して内部で実行される操作は何でしょう!??
- GMPは他の一般的なライブラリと比べてどのくらい高速なのか!?
前もって感謝します。これらのことについてこれらを知ることは、私のプロジェクトにとって非常に重要です。
internals - GMP..バイナリ実行
GMPライブラリで...
整数に対する演算の内部実行はどのように行われますか?6 = 0110,4 =0100..および6+4 = 0110 + 0100 ..のように、乗算、除算、およびその他の演算の場合はどうなりますか!?? オーバーフロービットなどをどのように制御しますか...
assembly - GMP-Assembly コード?
UBUNTU および G++ コンパイラを使用して gmp-5.0.0 im 用に作成されたプログラムの ASSEMBLY コードを見つけることができる場所..コードをコンパイルするためのコマンドは「g++ test.cc -o outp -lgmp」です。
実際、1 と 0 に関して内部で何が起こっているかを知りたいです...メモリ割り当てがどのように行われ、RAW ビットで操作がどのように実行されるかを知りたいです!!
c - bigintライブラリをどのように作成しますか/libgmpはどのように機能しますか?
さまざまなプラットフォームでのC用のBigIntライブラリの数とその使用方法を知っていますが、興味をそそられます。それらはどのように機能するのでしょうか。自分のライブラリを構築するにはどうすればよいでしょうか(試してみるつもりはありません。車輪の再発明をする意味はありませんが、それがどのように行われるかに興味があります)。手順/基本を説明する可能性のあるチュートリアルなどを誰かに教えてもらえますか?
ありがとう、
ナインフィンガー。
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: エラー: この構文を使用して配列を初期化できません
c - Linux で GMP ライブラリを使用できない理由
cを使用してLinuxでいくつかのコードを書いていました。コンパイルしようとすると、次の応答が得られました。
実際、私が使っていた gmp の機能はすべて見つかりませんでした。
gmp に問題があるようです。
誰かがそれを解決する方法を教えてもらえますか? 前もって感謝します!
c - CでGMPlibを使用してmpz_tを2つの部分に分割するにはどうすればよいですか?
cでGMPを使用すると、10進形式の大きな整数「mpz_tn」があります。どうすれば2つの部分に分割できますか?実際、これらの2つの部分は、バイナリで同じ長さである必要があります。
たとえば、nを112ビットのバイナリに変換して、それを256ビットの部分に分割したいとします。
ありがとう
precision - GMPは壊れていますか?それはできません!
GMP ライブラリの MPQ 変数で get_d() を呼び出すと、最大で 6 桁しか取得できません。
C++ は、double に対して 8 バイトまたは ~15 桁を提供することになっています。6 桁しか表示されないのはなぜですか?
c - Diffie-Hellman でのパラメータの選択
ここでこの質問をするのは適切ではないかもしれません...とにかく、DHの実装にgmpライブラリを使用しようとしていますが、ここで得た問題は次のとおりです。
一度、出力を観察するためにテストを行っていたとき、素数と秘密鍵の大きな値が選択されましたが:
- p は 10 進数で約 300 桁以上の長さでした
- a、bの長さは約100桁でした
最後に、おそらく10進数で10 ^ 8より小さい、非常に小さい共有秘密鍵を取得しました...
この問題は何度も発生することはなく、実際にはすべての観測中に 1 回だけ発生しました...しかし、これはあまり良くありませんでした。
だから、これを回避できるいくつかの方法があるのだろうか...どうもありがとう