Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm abs(), labs(), llabs() trong C/C++


Các hàm số nguyên (Integer Functions) trong thư viện C trả về giá trị tuyệt đối của số nguyên.

Khai báo nguyên mẫu

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

Được định nghĩa trong header <cstdlib> (C++), <stdlib.h> (C).

Chi tiết từng hàm

1. abs() – Giá trị tuyệt đối của int

  • C: Nhận int, trả về int.
  • C++: Nạp chồng cho int, long, long long, kiểu trả về tương ứng.
  • Loại bỏ dấu âm: abs(-43) = 43, abs(12) = 12.
#include <cstdlib>
#include <iostream>
using namespace std;

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

2. labs() – Giá trị tuyệt đối của long

  • Đầu vào/ra đều là long int.
  • Xử lý số lớn hơn int.
#include <cstdlib>
#include <iostream>
using namespace std;

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

3. llabs() – Giá trị tuyệt đối của long long

  • Đầu vào/ra là long long int.
  • Dùng cho số rất lớn (64-bit).
#include <cstdlib>
#include <iostream>
using namespace std;

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