Menilai ungkapan matematik kompleks dalam C boleh menjadi tugas yang mencabar. Satu pendekatan popular melibatkan membenamkan Python ke dalam C , menggunakan keupayaan penilaian ekspresi teguhnya. Walau bagaimanapun, wujud penyelesaian alternatif yang mungkin menawarkan prestasi atau kesederhanaan yang lebih baik.
Salah satu penyelesaian sedemikian ialah perpustakaan ExprTk. Direka khusus untuk penilaian ungkapan matematik, ExprTk menyediakan set fungsi dan pengendali yang komprehensif, membolehkan penilaian cekap bagi ungkapan arbitrari.
Pertimbangkan ungkapan tersuai berikut:
3 + sqrt(5) + pow(3) + log(5)
Menggunakan ExprTk, kita boleh memperoleh penyelesaian yang mudah dan mudah:
<code class="cpp">#include <exprtk.hpp> typedef exprtk::expression<double> expression_t; typedef exprtk::parser<double> parser_t; int main() { std::string expression_string = "3 + sqrt(5) + pow(3,2) + log(5)"; expression_t expression; parser_t parser; if (parser.compile(expression_string, expression)) { double result = expression.value(); printf("Result: %19.15f\n", result); } else printf("Error in expression.\n"); return 0; }</code>
Faedah ExprTk:
Atas ialah kandungan terperinci Bagaimana untuk Menilai Ungkapan Matematik Tersuai dengan Cekap dalam C Menggunakan ExprTk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!