0Pricing
C++ Academy · บทเรียน

ส่วนหัว cmath: pow sqrt abs round

ใช้ไลบรารีคณิตศาสตร์มาตรฐานสำหรับการคำนวณทั่วไป

ส่วนหัว cmath: pow sqrt abs round เป็นบทเรียน C++ Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C++ Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน

ส่วนหัว <cmath>

ฟังก์ชันทางคณิตศาสตร์มาตรฐานอยู่ใน <cmath> ฟังก์ชันส่วนใหญ่รับและคืนค่าเป็น double และยังมีโอเวอร์โหลดสำหรับ float กับ long double ด้วย

เลขยกกำลัง: pow

std::pow(base, exp) ยก base ขึ้นเป็นกำลัง exp และคืนค่าเป็น double

#include <cmath>
double x = std::pow(2.0, 10);   // 1024.0
double y = std::pow(9.0, 0.5);  // 3.0

รากที่สอง: sqrt และรากที่สาม: cbrt

sqrt คืนค่ารากที่สอง ส่วน cbrt คืนค่ารากที่สาม

double s = std::sqrt(2.0);   // 1.414...
double c = std::cbrt(27.0);  // 3.0

ค่าสัมบูรณ์: abs

std::abs ใช้ได้กับทั้งชนิดจำนวนเต็มและชนิดเลขทศนิยม สำหรับจำนวนเต็ม ให้ใช้ <cstdlib> หรือใช้ std::abs ได้เลย

#include <cmath>
#include <cstdlib>
int    i = std::abs(-5);     // 5
double d = std::abs(-3.14);  // 3.14

การปัดเศษ: floor, ceil, round และ trunc

การปัดเศษมีสี่รูปแบบ:

  • floor — เข้าหาอนันต์ลบ
  • ceil — เข้าหาอนันต์บวก
  • round — ปัดเป็นค่าที่ใกล้ที่สุด โดยค่ากึ่งกลางปัดออกจากศูนย์
  • trunc — ปัดเข้าหาศูนย์

ตัวอย่างการปัดเศษ

ดูความแตกต่างของฟังก์ชันเหล่านี้เมื่อใช้กับจำนวนบวกและจำนวนลบ

std::cout << std::floor(3.7) << "\n";  // 3
std::cout << std::ceil(3.2)  << "\n";  // 4
std::cout << std::round(3.5) << "\n";  // 4
std::cout << std::trunc(-3.7) << "\n"; // -3
std::cout << std::floor(-3.7) << "\n"; // -4

การหาเศษสำหรับเลขทศนิยม: fmod

ตัวดำเนินการ % ใช้ได้เฉพาะกับจำนวนเต็มเท่านั้น สำหรับเลขทศนิยม ให้ใช้ std::fmod

double r = std::fmod(10.5, 3.0); // 1.5

ลอการิทึม

ลอการิทึมมีสามรูปแบบ:

  • std::log — ลอการิทึมธรรมชาติ (ฐาน e)
  • std::log10 — ฐาน 10
  • std::log2 — ฐาน 2 (C++11)

ฟังก์ชันเอ็กซ์โพเนนเชียล: exp

std::exp(x) คำนวณค่า e^x ซึ่งเป็นฟังก์ชันผกผันของลอการิทึมธรรมชาติ

double e = std::exp(1.0);     // 2.718...
double x = std::log(e);       // 1.0

ตรีโกณมิติ

sin, cos, tan และฟังก์ชันผกผันของฟังก์ชันเหล่านี้ (asin, acos, atan) ล้วนรับมุมในหน่วยเรเดียน

double y = std::sin(M_PI / 2);  // 1.0
// Convert degrees to radians: deg * M_PI / 180

ค่าคงที่ที่มีประโยชน์ (C++20)

C++20 เพิ่มค่าคงที่ทางคณิตศาสตร์ที่มีชื่อเรียกไว้ใน <numbers> เช่น std::numbers::pi, e, sqrt2 และค่าอื่น ๆ

#include <numbers>
std::cout << std::numbers::pi;     // 3.14159...
std::cout << std::numbers::e;      // 2.71828...

ตรวจสอบความเข้าใจ

ฟังก์ชันใดปัด -3.7 เป็น -4?

สรุป

<cmath> ครอบคลุมการคำนวณเลขยกกำลัง ราก ค่าสัมบูรณ์ การปัดเศษ การหาเศษ ลอการิทึม ฟังก์ชันเอ็กซ์โพเนนเชียล และฟังก์ชันตรีโกณมิติ ฟังก์ชันตรีโกณมิติทำงานด้วยหน่วยเรเดียน ส่วน C++20 เพิ่ม <numbers> สำหรับค่าคงที่ที่มีชื่อเรียก เช่น std::numbers::pi

คำถามที่พบบ่อย

บทเรียน “ส่วนหัว cmath: pow sqrt abs round” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ส่วนหัว cmath: pow sqrt abs round” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C++ Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ส่วนหัว cmath: pow sqrt abs round”

ใช้ไลบรารีคณิตศาสตร์มาตรฐานสำหรับการคำนวณทั่วไป คุณปฏิบัติ C++ Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C++ Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C++ Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “ส่วนหัว cmath: pow sqrt abs round” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C++ Academy นี้ได้ไหม

ได้ บทเรียน C++ Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ชนิดจำนวนเต็มเทียบกับชนิดเลขทศนิยม
  2. ส่วนหัว cmath: pow sqrt abs round
  3. ตัวเลขสุ่มด้วยส่วนหัว random
  4. ขีดจำกัดตัวเลขและพฤติกรรมเมื่อค่าล้น
← กลับไปที่ C++ Academy