2009-12-08 11 views
5

128ビットの数値を2つの64ビット数値( "Hi"と "Lo")として格納しています。私はそれを32ビットの数値で分けるだけでいいです。 CPUからの64ビットのネイティブ操作を使って、どうすればいいですか?64ビットマシンでの符号なし128ビット除算

(任意の精度ライブラリは必要ありません。ネイティブ演算を使用してこの単純な除算を行う方法を知っておく必要があります。ありがとうございます)

答えて

3

アーキテクチャで扱える最大のネイティブ表現(64ビット)を使用して値(128ビット)を保存している場合は、分割の中間結果を処理するのに問題があります。

しかし、常に小さな表記を使用できます。 4つの32ビット数はどうですか?このようにして、オーバーフローの問題なしにネイティブの64ビット操作を使用できます。

単純な実装(Delphi)はhereです。

+0

パーフェクト。ありがとう! – rookie

2

一部のコードはhereです。

関連する問題