Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

sqrt, sqrtl, และ sqrtf ในการเขียนโปรแกรม C++


คลาสคณิตศาสตร์ (Math Class)

บทความนี้สาธิตการใช้ฟังก์ชันสำคัญของคลาสคณิตศาสตร์ ได้แก่ sqrt(), sqrtl(), และ sqrtf() เพื่อคำนวณรากที่สองของตัวแปรแบบ double, long double, และ float ตามลำดับพร้อมความแม่นยำ คลาสคณิตศาสตร์ของ C++ มีฟังก์ชันมากมายสำหรับคำนวณทางคณิตศาสตร์ เช่น sin, cos, รากที่สอง, ceil, floor ฯลฯ จึงจำเป็นต้อง import ไฟล์หัวเรื่อง <cmath> เพื่อใช้เมธอดเหล่านี้ได้

เมธอด sqrt

เมธอด double sqrt() ของคลาสคณิตศาสตร์คืนค่ารากที่สองของตัวแปร double พร้อมความแม่นยำ ไวยากรณ์ของฟังก์ชันนี้มีดังนี้

ไวยากรณ์

double sqrt(double arg)

โค้ด C++ ต่อไปนี้กำหนดตัวแปร double พร้อมค่าเริ่มต้นเพื่อคำนวณรากที่สอง เมธอด sqrt() ของคลาสคณิตศาสตร์รับค่าเหล่านี้และส่งคืนผลลัพธ์พร้อมค่าความแม่นยำ

ตัวอย่าง

#include <cmath> #include <iomanip> #include <iostream> using namespace std; int main() {     double val = 225.0;     cout << fixed << setprecision(5) << sqrt(val);     return (0); }

ผลลัพธ์

ตามที่เห็นด้านล่าง ผลลัพธ์ของโปรแกรมนี้ถูกสร้างขึ้นพร้อมความแม่นยำ 5 ตำแหน่ง

15.00000

เมธอด sqrtl

เมธอด long double sqrtl() ของคลาสคณิตศาสตร์คืนค่ารากที่สองของตัวแปร long double พร้อมความแม่นยำ ไวยากรณ์มีดังนี้

long double sqrtl(long double arg)

ตัวอย่างด้านล่างสาธิตการคำนวณรากที่สองของตัวแปร long double โดยใช้เมธอด Math.sqrtl()

ตัวอย่าง

#include <cmath> #include <iomanip> #include <iostream> using namespace std; int main() {     long long int val = 1000000000000000000;     cout << fixed << setprecision(10) << sqrt(val);     return (0); }

ผลลัพธ์

หลังจากคอมไพล์โปรแกรมด้วยโค้ดเอดิเตอร์ ค่าที่คำนวณได้ของตัวแปร long จะแสดงดังนี้

1000000000.000000000

เมธอด sqrtf

เมธอด float sqrtf() ของคลาสคณิตศาสตร์คืนค่ารากที่สองของตัวแปร float พร้อมความแม่นยำ ไวยากรณ์มีดังนี้

ไวยากรณ์

float sqrtf(float arg)

ตามไวยากรณ์ โปรแกรมจ่ายตัวแปร float ให้กับเมธอด sqrtf() เพื่อคำนวณรากที่สอง

ตัวอย่าง

#include <cmath> #include <iomanip> #include <iostream> using namespace std; int main() {     float val = 300.0;     cout << fixed << setprecision(5) << sqrtf(val);     return (0); }

ผลลัพธ์

ผลลัพธ์ของตัวแปร float ที่ถูกคำนวณรากที่สองมีดังนี้

17.32051