-1
私は自分のコードで膨大な数を扱っています。一意性を失うことなく値を減らしたいのです(マップは1対1のままです)。プログラミングで一意性を失うことなく10^18の数字を小さな数字に変換するにはどうすればよいですか?
私は自分のコードで膨大な数を扱っています。一意性を失うことなく値を減らしたいのです(マップは1対1のままです)。プログラミングで一意性を失うことなく10^18の数字を小さな数字に変換するにはどうすればよいですか?
あなたはそれを言及していませんでしたが、浮動小数点値ではなく整数を参照していると仮定します。
数字スペースが10^18で、すべての数字が関連する場合、情報を失うことなく、より小さな数字スペースに縮小することはできません。
-9.2 * 10^18
には+9.2 * 10^18
を64ビット符号付き整数で入力できます。あなたが上がる必要がある場合は、128ビットの数字(またはあなたのコンパイラのための '大きな数字'のライブラリ)が必要です。
データが符号なしの場合、64ビット整数(zero
〜1.84 * 10^19
)に収まります。
例を挙げてください。 – ja72
多分、重複した値がたくさんある場合は、somethigを行うことができます – agentp
あなたの番号の範囲は何ですか? – innoSPG