2005年12月28日のブックマーク (1件)

  • やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - 値の交換

    一時変数を用いないで、2つの変数の値を交換する。 id:Will_NET:20051227 さっそくケチをつけてみた。 id:Will_NET:20051228 この手の問題が、古典に属するのかどうかは私にはよくわからないが、この技法(xor swap)は「ハッカーのたのしみ」(id:yaneurao:20041015)にも出ていたと思う。 しかし、最近だとout of orderにすることが出来るか(≒実行順序の入れ替えが可能か)だとか、overflow/underflowに関してexceptionが発生するかだとか、そういったことまで考慮に入れないと一時変数を用いるより当に優れているのかどうかはわからない。 たとえば、分岐予測が外れたときのペナルティが命令実行の時間に比べて大きすぎるので、これを回避するために分岐しないソートを用いることがある。 このようにプロセッサの進化とともに最適

    やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - 値の交換
    yaneurao
    yaneurao 2005/12/28
    値の交換 xor swapping