BODMASとは何ですか?プログラミングにはなぜ便利ですか?「BODMAS」という用語は何を意味しますか?
答えて
http://www.easymaths.com/What_on_earth_is_Bodmas.htm:
あなたは2 + 3×5の答えはどう思いますか?
それは(2 + 3)x 5 = 5 x 5 = 25ですか?
または2 +(3 x 5)= 2 + 15 = 17?
BODMASは救助に来て、私たちは常に正しい答えを得るように従うことを私たちにルールを与えることができます:
(B)ラケット(O)RDER(D)ivision(M)ultiplication(A)ddition( S)ubtraction
BODMASによると、乗算は常に加算前に実行する必要があります。したがって、実際にBODMASによる正解は17であり、2 + 3 x 5で入力すると電卓の答えとなります。
なぜプログラミングに役立つのですか?あなたはいくつかの括弧を取り除くことができるので、私はそれは仮定していないアイデアは、? BODMASと
result = (((i + 4) - (a + b)) * MAGIC_NUMBER) - ANOTHER_MAGIC_NUMBER;
あなたは、これは少しより明確にすることができます:私は私の行はこのようになりますので、非常に守備のプログラマだ
result = (i + 4 - (a + b)) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;
私はまだ最初のバリアントを使用したいと思います - より多くの括弧は、しかし、私はまだ別のルールを学ぶ必要はありませんし、私はそれを忘れて、それらの奇妙なハードエラーをデバッグする原因となるリスクを少なく実行する?
しかし、その部分でちょうど推測します。
マイク・ストーンEDIT:固定数学ガイウスは(中学)
正直言って、私はおそらく最適化されたバージョンではなく、あなたの "ブラケット"スタイルです。おそらくそれは私のものですが、結果>(((i + 4) - (a + b))* MAGIC_NUMBER) - ANOTHER_MAGIC_NUMBER;精神的に解析するのが簡単です... – ZombieSheep
にこの別のバージョンを指摘するように「私の親愛なるおばさんサリーを許しなさい」でした。
- 括弧
- 指数精度
- 乗算
- 課
- 追加
- 減算
ニーモニックデバイスは、今日学校で役立つ、およびプログラミングにまだ有用でした。
ような発現の操作の順序:
foo * (bar + baz^2/foo)
- Bラケット第
- O rders(すなわちパワーズと平方根、等)
- D ivisionとM ultiplication(左から右)
- dditionとS ubtraction(左から右)
は、それはBEDMASと呼ばれていました:
本のBラケット
E xponents
D ivision
M ultiplication
ddition
Sただ、世界のこの部分からのもののために ubtraction
。 ..
ニュージーランドでも同様です。 「指数」は一般的に「注文」という名前よりも私にとって理にかなっています –
私は、古いBODMASニーモニックをどのようにプログラミングすることにどのように当てはまるのかは分かりません。言語間での操作の順序は保証されていませんが、多くは標準操作をその順序で保持していますが、すべてではありません。そして、操作の順序が本当に意味のあるものではない言語がいくつかあります(例えば、Lispの方言)。ある意味では、標準の注文を忘れて、カッコをすべて(例:(a * b)+ c))使用するか、作業する各言語の順序を具体的に学習する方がプログラミングの方がよいでしょう。
私は@Michael Stum's answerを編集する権限がありませんが、それは正しくありません。彼は、彼らは同じではありません
(i + 4 - a + b)
へ
(i + 4) - (a + b)
を低減します。私は全体の発現のために得ることができる最高の低下が
((i + 4) - (a + b)) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;
または
(i + 4 - a - b) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;
私は特に小さな文にあなたの表現を分割すると、最適化のために良好であったC/C++でどこかで読んあります。そのため、複雑な式を1行に書くのではなく、変数を変数にキャッシュして、それぞれをステップごとに実行した後に、それらをビルドします。
最適化ルーチンは、変数がある場所にレジスタを使用します。そのため、スペースに影響しないはずですが、コンパイラを少し助けることができます。
- 1. 「テンプレート」という用語は何を意味しますか?
- 2. レガシーデータベースという用語は何を意味しますか?
- 3. 「メタデータ」という用語は何を意味しますか?
- 4. 「データベースシーディング」という用語は何を意味しますか?
- 5. Spring MVCでformBackingObjectとModelAttributeという用語は何を意味しますか?
- 6. 「劣った」という用語は「劣ったデバッガ」という用語では何を意味しますか?
- 7. 「計装」という用語は何を意味していますか?
- 8. 「ローカルオブジェクト変数」という用語は何を意味していますか?
- 9. 「ダーティーオブジェクト」という用語は何を意味していますか?
- 10. 「プロミスベースのHttpクライアント」という用語は何を意味しますか?
- 11. gitのリポジトリという用語は正確に何を意味しますか?
- 12. "不透明タイプ"という用語は、 "CFBundleRef opaque type"の意味で何を意味しますか?
- 13. 「Calli」という用語の意味的推論または意味は何ですか?
- 14. 「メタ」という単語は何を意味していますか?
- 15. データクラスという用語はどういう意味ですか?
- 16. gitの文脈でTREESAMEという単語は何を意味しますか?
- 17. C++で「語彙」とは何を意味しますか?
- 18. vimの "バッファ"と "ウィンドウ"という用語の意味は何ですか?
- 19. Ruby on Railsでは「ベンダー」または「ベンダー」という用語は何を意味していますか?
- 20. @TypeConverterAnnotationというコードは何を意味していますか?
- 21. Javascriptでは ":"というシンボルは何を意味しますか?
- 22. Rubyでは "$$"というトークンは何を意味しますか?
- 23. 「計算空間」という用語の意味は何ですか?
- 24. def `self.function`という名前は何を意味しますか?
- 25. メソッドシグネチャで@public修飾語は何を意味しますか?
- 26. Javaの「同義語」は何を意味しますか?
- 27. 用語:「saga」という用語の意味
- 28. 0x0Fは何を意味していますか?そして、このコードはどういう意味ですか?
- 29. イメージ処理では、「ネスト領域」という用語は何を意味しますか?
- 30. ディレクトリ名とは何ですか? 'と '..'という意味で、faDirectoryはどういう意味ですか?
[CとC++での演算子の優先順位](http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Operator_precedence) – foxy
私は通常、4つの+/- *演算は次のようになります:a + b * c他のすべての演算子では、演算の順序を明確にするために括弧を使います。 –
私は今日までにBODMASを見たことがありません。私はPEMDAS(括弧、指数関数、掛け算、除算、加算、減算)を学びました。 – FishBasketGordo