「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python を使用せずに C++ で複雑な数式を評価するにはどうすればよいですか?

Python を使用せずに C++ で複雑な数式を評価するにはどうすればよいですか?

2024 年 11 月 17 日に公開
ブラウズ:381

How Can I Evaluate Complex Math Expressions in C   Without Python?

Python 統合を使用せずに C でカスタム数式を評価する方法

C での複雑な数式の評価は、外部ライブラリやランタイム環境なしでは困難になる可能性があります。ただし、ExprTk ライブラリは、洗練された効率的なソリューションを提供します。

式の例を考えてみましょう:

3   sqrt(5)   pow(3, 2)   log(5)

ExprTk を使用すると、この問題に簡単に取り組むことができます:

#include 
#include 
#include "exprtk.hpp"

int main() {
  // Define types for expression and parser
  typedef exprtk::expression expression_t;
  typedef exprtk::parser parser_t;

  // Store the expression as a string
  std::string expression_string = "3   sqrt(5)   pow(3,2)   log(5)";

  // Instantiate expression and parser objects
  expression_t expression;
  parser_t parser;

  // Compile the expression string
  if (parser.compile(expression_string, expression)) {
    // Evaluate the expression
    double result = expression.value();

    // Print the result
    printf("Result: .15f\n", result);
  } else {
    // Handle compilation errors
    printf("Error in expression\n.");
  }

  return 0;
}

このコード:

  1. 必要なヘッダーが含まれ、ExprTk がロードされます。
  2. 式とパーサーを定義し、倍精度値の型安全性を確保します。
  3. カスタム式を文字列として保存します。
  4. 式文字列を式にコンパイルします。 object.
  5. 式を評価し、結果を出力します。

ExprTk ライブラリを利用すると、C で複雑な数式の評価を効率的に処理でき、Python 統合の必要性が軽減されます。 .

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3