私は最近、ビットワイズペアリング機能としてMorton coding (Z-order curve)を学びました。それはCantor pairing functionと比較して数値を組み合わせる計算上高速な方法として私に提示されました。なぜビット数が上位ビットと下位ビットで区切られるのではなく、ビットインターリーブを使用してペアになるのですか?
モートンの符号化の仕方は、ビットをインタリーブして結果をより広いデータ型に格納することによって2つの数を結合することです。たとえば、2つの8ビット整数のビットをインターリーブし、その結果を16ビット整数として格納します。
なぜターゲットデータ型の上位ビットと下位ビットの間で2つの数値を分割するのではなく、ビットをインターリーブしたいのですか?私は高速と低ビットを使用してより高速になることが期待されます。インターリーブに利点があるのはいつですか?