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

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


วิชาคณิตศาสตร์

บทความนี้สาธิตการใช้ฟังก์ชันที่จำเป็นสำหรับคลาสคณิตศาสตร์ 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