答えて
cが偶数の場合は0を返し、cが奇数の場合は1を返します。 &演算子はビットと演算子で、この場合は最初のビットを返します。
私はラインでそれをラインを取るよ:
int code0(int c) {
これはcode0
という名前の関数を定義し、最初のint
は、戻り値の型であり、第二int
があまりにも
return c&1;
整数として引数
c
を定義します
これは、に対してc
bitwise andの値を返します。結果は、1
またはのいずれかになります。整数の最終ビットに応じて、c
あなたはこれだけの関数定義をクローズ機能に
}
を可決しました。
基本的に、この関数はfinalとして、また、あなたは、この関数に渡す整数の最後のバイナリビットがc
が奇数(1
)あるいは(0
)であるか、または簡単な言葉であるもの
を返します。私は通常、関数を使用しませんが、ビット演算をインライン(例えばif(myvar&1==0)
)にすると、これは単純なことですが、最終結果で分岐の必要性を減らすことができます。現代のコンパイラは、あなたのためにこのような単純な関数をインライン化するのに十分素晴らしいです - でも良いことはコンパイラの最適化に依存しないと言います) - Slavaが指摘しているように、 seケース。
"私は通常、この種の操作をインラインで行います"この関数は、cが奇数かどうかを計算していると仮定していましたが、そうではないかもしれません。それで、手動でインライン化してはいけませんが、インライン関数は何らかの理由で変更される可能性があります。 – Slava
質問の関数を特に指しています。これは、より複雑な使用法が暗黙のうちに私は同じタイプの操作としてそれを分類しないだろうかという質問。私は答えを言い直す。入力のおかげで。 – SteJ
私はおそらく関数tbhに固執します。実際にはそれはまともな名前を持っていると仮定し、実装からインテントを分離し(メンテナンスを非常に簡単にします)、インライン化できるためにコストがかかりません。 2016年には、あなたは希望や驚きを必要としません。自分自身をインライン展開することは、今日の時代には至っていないのです。プログラムを明示的に記述し、コンパイラに残りの部分を整理させます。 –
この関数を使用して、指定された整数が奇数か偶数かを調べることができます。すべての奇数番号は、最初のビット(最下位ビット)としてビット1を持ちます。
例えば、
3 => 11
5 => 101
あなたがcode0(5)
を呼び出すのであれば、それはint型1(=> 001 101 & 001)を返します。あなたがcode0(EVEN_NUMBER)
を呼び出す場合
、その後、彼らは、この関数を呼び出すことにより、あなたは任意の整数の最初のビット(最下位ビット)の状況について知ってもらうことができます、だから、INT 0
戻ります。
- 1. 誰かが私にこのコードを説明できますか?
- 2. 誰も私にこのコードを説明できますか?
- 3. 誰も私にこのコードを説明できますか?
- 4. 誰かが私にこのエラーを説明できますか?
- 5. 誰かがこのCSSコードを説明できますか?
- 6. 誰かがこのコードを説明できますか?
- 7. 誰かがこのJavaScriptコードを私に説明できますか?
- 8. 誰かがこのコードスニペットを説明できますか? - C++
- 9. 誰かが "for loop"を私に説明することはできますか?
- 10. 誰かがObjective-Cのこの1行のコードを説明できますか?
- 11. 誰かがこのコードを行ごとに説明できますか?
- 12. 誰かが説明することができます
- 13. 誰かを喜ばせることができますこのコードを説明できますか?
- 14. 誰かが私に次のコードを説明することはできますか?
- 15. DATEADD(MONTH、DATEEDF(MONTH、0、GETDATE())、0)誰かが私にこのことを説明することができます
- 16. 誰かがHaskellでこのIntegerモジュラ動作を私に説明することはできますか?
- 17. 誰かがこのクエリの結果を私に説明することはできますか?
- 18. 誰かが私にこれらのエラーを説明することはできますか?
- 19. このGetCardinalityメソッドがやっていることを誰かに説明することはできますか?
- 20. 誰かがこのMD5 MessageDigestコードのしくみを説明できますか?
- 21. 誰かが私にこのSQLインジェクション攻撃を説明できますか?
- 22. 誰かがこのビット操作コードを説明できますか?
- 23. 誰かが私のためにこれらのコードを説明できますか(JavaScriptとHTML5について)?
- 24. 誰かがこのJSコードを説明して私にエラーを起こすことができますか?なぜそれは失敗するのですか?
- 25. 誰かがこのRegExについて私に説明できますか?
- 26. 誰かがこれを説明できますか?0.2 + 0.1 = 0.30000000000000004?
- 27. 誰かがこのC関数について説明できますか?
- 28. 誰かが私にここで何が起こっているか説明できますか?
- 29. pythonで誰かが私にこれを説明することができれば、私は思っていた
- 30. 私はこのTSQLコードを説明できますか?
何を説明しますか? C++で本を開き、ビット演算子&について読んでください。 –