問題タブ [int128]

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 に答える
8643 参照

c++ - C++ で基本的な 128 ビット整数計算を行う効率的な方法は?

数年前、Cuda で基本的な 128 ビット整数演算を行う方法が必要でした: cuda で 128 ビット整数? . 今、私は同じ問題を抱えていますが、今回は、128 ビットをサポートしていない 32 ビット組み込みシステム (Intel Edison) で基本的な 128 ビット演算 (合計、ビットシフト、および乗算) を実行する必要があります。ただし、直接サポートされている 64 ビット整数 (unsigned long long int) があります。

前回回答いただいたasmコードをCPUで素朴に使ってみたのですが、エラーが多発してしまいました。私は本当にasmの経験がないので、64ビット整数を使用して、128ビットで加算、乗算、ビットシフトを実装する最も効率的な方法は何ですか?

0 投票する
3 に答える
2295 参照

c - Cython で 128 ビット整数を使用する方法

私の 64 ビット コンピュータでは、long longタイプは 64 ビットです。

128 ビット整数を使用する必要があり、幸運にもGCC はこれらをサポートしています。Cython 内でこれらを使用するにはどうすればよいですか?

以下は動作しません。foo.pyxだけを含むコンパイル

収量

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

c - 2 つの 64 ビット int を 128 ビットに乗算してから >> 64 ビットに乗算する最速の方法は?

2 つの符号付き 64 ビット整数を乗算し、(128 ビット) 結果を符号付き 64 ビット整数にシフトする必要がありaますb。それを行う最も速い方法は何ですか?

私の 64 ビット整数は、実際には固定小数点数をfmt小数ビットで表しています。fmtオーバーフローしないように が選択さa * b >> fmtれます。たとえばabs(a) < 64<<fmtabs(b) < 2<<fmtwithfmt==56は最終結果が 64 ビットでオーバーフローしない< 128<<fmtため、int64 に収まります。

私がそれをしたい理由は、固定小数点形式の形式の 5 次多項式を迅速かつ正確に評価するためです。すべての数値は、小数ビット((((c5*x + c4)*x + c3)*x + c2)*x + c1)*x + c0を持つ符号付き 64 ビット固定小数点数です。fmtそれを達成するための最も効率的な方法を探しています。

0 投票する
3 に答える
612 参照

c - 負の数を返す C モジュラス

私はデータ型を持っているunsigned __int128 data;ので、これは型の問題ではないと思いますが、なぜそれが発生しているのかわかりません

戻り値:

0 投票する
0 に答える
126 参照

leading-zero - __int128_t の先行ゼロ数のエラー

出力: 63 64

gcc バージョン 5.3.0 20151204

なぜ結果が間違っているのですか?int128_t の先行ゼロをカウントする他の方法はありますか。

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

python - Numpy 8 倍精度浮動小数点数と 128 ビット整数。なぜ、どのように?

これは主に好奇心からの質問です。numpy テスト スイートには 128 ビット整数のテストが含まれていることに気付きました。numerictypesモジュールint128float256( 8 倍精度?)、および私のマシンの numpy dtypes にマップされていないように見えるその他の型を参照しています。

私のマシンは 64 ビットですが、4 つの 128 ビット浮動小数点数を使用できます (実際にはそうではありません)。ソフトウェアで 4 倍浮動小数点数をエミュレートできる場合、理論的には 8 倍浮動小数点数と 128 ビット整数もエミュレートできると思います。一方、128 ビットの整数や 8 倍精度の浮動小数点については、今まで聞いたことがありませんでした。numerictypes対応する s がない場合、numpy のモジュールに 128 ビットの int と 256 ビットの float への参照があるのはなぜdtypeですか? また、それらをどのように使用できますか?

0 投票する
0 に答える
641 参照

c - __int128 は emscripten でサポートされていますか? そうでない場合、128 ビットの int 乗算を実装する方法は?

Emscripten を使用して C プロジェクトを Javascript にコンパイルしようとしています。以下に示すように、GCC 拡張機能をサポートする非常に基本的なコードがあり__int128ます。

現在、これらの変数はuint64_t、Emscripten でサポートされていることがわかっているポインターからキャストされていますが、コンパイル時にエラーが発生します。

したがって、サポートを有効にする方法がわからないか、このタイプのサポートがありません。後者の場合、型をサポートせずに 128 ビットの符号なし整数の乗算を模倣する方法についてのヒントはありますか? 乗算の直後の行で数値が 64 ビットの符号なし int にシフトされるため、コードは実際には結果を完全な符号なし 128 ビット形式で保持する必要はないようです。