วิชาคณิตศาสตร์
บทความนี้สาธิตการใช้ฟังก์ชันที่จำเป็นสำหรับคลาสคณิตศาสตร์ sqrt(), sqrtl() และ sqrtf() เพื่อคำนวณรากที่สองของตัวแปรประเภท double, long และ float ด้วยความแม่นยำตามลำดับ คลาสคณิตศาสตร์ของ C++ มีฟังก์ชันมากมายในการคำนวณการคำนวณทางคณิตศาสตร์ ซึ่งรวมถึง sin, cos, สแควร์รูท, ceil, ฟลอร์ ฯลฯ ดังนั้นจึงจำเป็นต้องนำเข้าคำจำกัดความของ
วิธี sqrt
เมธอด double sqrtl () ของคลาส Math จะคืนค่าสแควร์รูทของตัวแปร double ด้วยความแม่นยำ ไวยากรณ์ของฟังก์ชันนี้มีดังต่อไปนี้
ไวยากรณ์
double sqrt(double arg)
โครงสร้างโค้ด c++ ต่อไปนี้กำหนดตัวแปรประเภทคู่ด้วยค่าเริ่มต้นเพื่อคำนวณค่ารากที่สอง จากนั้นวิธีคลาสคณิตศาสตร์ 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 () ของคลาส Math จะคืนค่าสแควร์รูทของตัวแปร 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);
} ผลลัพธ์
หลังจากการคอมไพล์โปรแกรมโดยใช้ตัวแก้ไขโค้ด ค่าที่คำนวณได้ของตัวแปรประเภทอินพุตแบบยาวจะมีดังต่อไปนี้
1000000000.000000000
วิธี sqrtf
วิธีการ float sqrtf () ของคลาส Math จะคืนค่าสแควร์รูทของตัวแปรประเภท 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