0

2 つの Page インスタンスがあり、ランダムな数のページを表示します。

ページをめくると、currentPage が他のページに置き換えられます (これが現在のページになります)。

現在のページを設定するには、単に次のようなことを行う方が安くなります:

currentPage = (currentPage == page1) ? page2 : page1;

または、次のようなことを行う方が安価です。

currentPage = this["page"+pageNum % 2 + 1]

私の直感では、3 進数または if がより安価なオプションになると言っていますが、誰かが確実に知っているかどうかを知りたいと思っています。

4

1 に答える 1

3

最初のオプションの方が安価であることは確かです。モジュラスは、単純な if ステートメント チェックを実行するよりもアセンブリ操作です。

モジュラスに関するアセンブリ手順については、これを参照してください:モジュール (%) の GCC 実装はどのように機能し、div 命令を使用しないのはなぜですか?

于 2013-07-03T19:45:34.493 に答える