私はC#でBitArrayを使用してふるいエラトステネスのアルゴリズムを実装しています。4.コードがありますulong変数をintにキャストする必要があります。その問題は、ユーザーがInt32.MaxValueより大きい数値を入力すると、パフォーマンスとデータ損失に影響します。では、キャストなしで、ulongでBitArrayを使用する方法(回避策)はありますか?C#BitArrayとInt64の
答えて
私はあなたが3つの選択肢があると思う:、それが使用するように書かれているものであるため、int型であなたが行ったようにintへULONGの変換やキャストとの
- 使用BitArray、
- 使用BitArrayを
- は、キャストなしでulongsをとるBitArray以外を使用します。
私これらの選択肢を認識していますが、いずれも十分です。最初のものはパフォーマンスの低下のために無視できるものではなく、2番目は制限されたユーザー入力のため、3番目はバイト配列以外のものでメモリが不足しているためです(ブール値の配列で試してみましたが、私が気づいていないことがあるかもしれない何か他のものがあるかもしれない)。選択肢3のために – Lenquist
を使用すると、独自のBitArrayを作成することができます。最初から、またはBitArrayの配列として作成できます。 – hatchet
あなたはこれについて尋ねていませんが、ふるいを実行するにあたって猫を肌に触れる方法は複数あり、他のものよりもメモリを少し節約しています。 – hatchet
- 1. BitArrayとXOR
- 2. BitArray
- 3. C#MySqlConnector 6.4.4 LAST_INSERT_ID()INT64として?
- 4. MongoDB int64とJavaScript
- 5. ハッシングビット配列? 「(1、bitarray:
- 6. 構造体とint64の値
- 7. C#でInt64とlongの違いは何ですか?
- 8. C - BitArray - uint64_tの単一ビットを設定する
- 9. SQLite Int64とInt32の問題とサブソニックActiveRecord
- 10. bitarrayからenumに変更
- 11. Windows上のPython 2.7のbitarrayパッケージ?
- 12. ランダムなint64とfloat64の数値
- 13. C#の配列のインデックス型をInt64に変更します。
- 14. ビッグクエリーのフィールドにアクセスできません。タイプがARRAY <STRUCT <hitNumber INT64、時刻INT64、時INT64、...>
- 15. IDEのDelphi int64オーバーフローのバグ
- 16. フォーマットInt64 with thousand separators
- 17. dbtype int32がint64と同じ理由hier
- 18. NumPy int64バイナリ表現のデコード
- 19. Pythonマルチプロセッシング:共有ビット配列(bitarray 0.8.1)
- 20. BitArrayを分割する方法
- 21. C#Int64構文解析 - エラーをスローしますか?
- 22. C++でJava longをint64に変換する
- 23. C#int64ハッシュに一致するSQL bigintハッシュ
- 24. PythonとPandas - int32とint64のdp.Seriesの相違
- 25. jsonのint64の解析。 null値
- 26. protobuf.js:print int64 node.jsの文字列としてのオブジェクト
- 27. スイフト:任意のオブジェクトをInt64にキャスト= nil
- 28. Pandas DataFrameの列タイプをint64に変更
- 29. tensorflow:鋳造<DTYPE「のint64」>ラベルは
- 30. 奇妙なInt64.Equalsの動作
Array.ConvertAllを使用しようとしましたか? –
ulongを使用しなければなりません(どれだけの素数を見つける必要がありますか)? BitArrayを使用する必要がありますか? – hatchet
私はいくつかの素数生成アルゴリズムの実行時のパフォーマンスを比較しようとしています。いくつかのアルゴリズムの間では、パフォーマンスに大きな違いが見られるのは大きな数字が出現するときだけです。それが私がulongを必要とする理由です。ビット配列に関しては、Windowsのプロセスごとに2GBの制限があるため、それを使用する必要があります。 BitArray以外のものは、数値> 1bilのためにOutOfMemoryExceptionをスローします – Lenquist