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

ฟังก์ชัน abs(), labs(), llabs() ใน C/C++


ฟังก์ชันจำนวนเต็ม (Integer Functions) ในไลบรารี C คือฟังก์ชันที่คืนค่าจำนวนเต็มที่แน่นอน C รองรับเฉพาะค่าจำนวนเต็ม ฟังก์ชันนี้คืนค่าจำนวนเต็มที่ใกล้ที่สุดซึ่งน้อยกว่าหรือเท่ากับอาร์กิวเมนต์

ประเภทของฟังก์ชันจำนวนเต็ม:

int = abs (int n);
long = labs (long n);
long long = llabs (long long n);

โดยที่ n = ค่าจำนวนเต็ม

abs(), labs(), llabs() คืออะไร?

ถูกกำหนดในไฟล์หัวเรื่อง <cstdlib> (C Standard General Utilities Library) ให้ค่าจำนวนเต็มที่แน่นอนของค่าที่รับเข้ามาเป็นอาร์กิวเมนต์

ฟังก์ชัน abs()

ใน C อินพุตเป็นแบบ 'int' ใน C++ อินพุตเป็น 'int, long int หรือ long long int' ใน C เอาต์พุตเป็น 'int' ใน C++ เอาต์พุตมีชนิดข้อมูลเหมือนอินพุต

ฟังก์ชัน abs คำนวณค่าสัมบูรณ์ของค่าที่กำหนด คือค่าหลังจากนำเครื่องหมายลบและบวกออก หมายถึงจะคืนค่าบวกเสมอ

ตัวอย่าง:

  • abs(-43) ให้ 43 เพราะเอาเครื่องหมายลบออก
  • abs(12) ให้ 12 เพราะไม่มีเครื่องหมายที่ต้องเอาออก

ตัวอย่าง

#include <cstdlib>
#include <iostream>
using namespace std;

int main() {
    int a = abs(123);
    int b = abs(-986);
    cout << "abs(123) = " << a << "\n";
    cout << "abs(-986) = " << b << "\n";
    return 0;
}

ผลลัพธ์

abs(123) = 123
abs(-986) = 986

ฟังก์ชัน labs()

ทั้งอินพุตและเอาต์พุตเป็นแบบ long int เป็นรุ่น long int ของ abs() ทำงานเหมือนกันแต่รองรับค่าที่ยาวกว่า

ตัวอย่าง:

  • labs(245349384932L) = 245349384932
  • labs(-34235668687987) = 34235668687987

ตัวอย่าง

#include <cstdlib>
#include <iostream>
using namespace std;

int main() {
    long int a = labs(437567342L);
    long int b = labs(-8764523L);
    cout << "labs(437567342L) = " << a << "\n";
    cout << "labs(-8764523L) = " << b << "\n";
    return 0;
}

ผลลัพธ์

labs(437567342L) = 437567342
labs(-8764523L) = 8764523

ฟังก์ชัน llabs()

ทั้งอินพุตและเอาต์พุตเป็นแบบ long long int เป็นรุ่น long long int ของ abs()

ตัวอย่าง

#include <cstdlib>
#include <iostream>
using namespace std;

int main() {
    long long int a = llabs(9796546325253547656LL);
    long long int b = llabs(-1423446557676111567LL);
    cout << "llabs(9796546325253547656LL) = " << a << "\n";
    cout << "llabs(-1423446557676111567LL) = " << b << "\n";
    return 0;
}

ผลลัพธ์

llabs(9796546325253547656LL) = 9796546325253547656
llabs(-1423446557676111567LL) = 1423446557676111567