私は、疑似セーバーバージョン番号(メジャー、マイナー、パッチ番号のみを使用している)をインデックスファイルに依存するシステムに取り組んでいます。セミバーの数値と順序付け可能なハッシュサム
このように比較や検索が楽しく楽しくなるように、これらのバージョン番号の数値「ハッシュ」を計算しようとしています。この数値のハッシュは、次のプロパティ(極端な例以下)を持っている必要があります。
Hash(1.0.500) < Hash(1.1.0) < Hash(1.3000.0) < Hash(2.0.0)
私はすでにそれぞれの位置を重み付けなど、またはこの
int hash = 17;
hash = hash * 42 + Major;
hash = hash * 42 + Minor;
hash = hash * 42 + Patch;
しかし、これらの缶のすべてのような幅広いソリューションを試してみました私は汚れた道を選んだと、このような衝突を避けるために大きな乗数のために行くことができた
Hash(1.0.1500) > Hash(1.1.0)
(乗数または重量以下)の制限を迅速に到達(最小の組み合わせ数を確保してください)、クリーナーパスを選択することをお勧めします
これも可能ですか?
インデックスの各部分にはサイズ制限がありますか? – kaushik
私はサイズ制限を導入するのを避けたかったのですが、ヘンリーの反応に関しては、私は – Binary9