Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm scalbn() trong C++ STL.
scalbn() là gì?
scalbn() là hàm tích hợp sẵn trong C++ STL, được định nghĩa trong header <cmath>. scalbn() dùng để tỷ lệ (scale) đáng kể sử dụng cơ số mũ dấu chấm động (floating point base exponent).
Phần ý nghĩa (Significand) là một phần của số dấu chấm động bao gồm các chữ số có ý nghĩa, tùy thuộc vào cách diễn giải mũ, significand có thể là số nguyên hoặc phân số.
Hàm tính tích của num và FLT_RADIX mũ n, trong đó FLT_RADIX là cơ số của tất cả kiểu dữ liệu dấu chấm động, num là giá trị significand, n là giá trị mũ.
Cú pháp
double scalbn( double num, int n ); float scalbn( float num, int n ); long double scalbn( long double num, int n );
Tham số
Hàm chấp nhận các tham số sau:
- num - Giá trị của significand.
- n - Giá trị của mũ (exponent).
Giá trị trả về
Hàm trả về num * FLT_RADIX^n nếu thành công, ngược lại trả về lỗi math_errhandling.
Ví dụ
Đầu vào
scalbn(5, 7);
Kết quả
640
Ví dụ đầy đủ
#include <bits/stdc++.h>
using namespace std;
int main() {
int a = 7;
int b = 5;
int hold;
hold = scalbn(b, a);
cout << "Phương trình: " << b << " * " << FLT_RADIX << "^" << a << " = " << hold << endl;
return 0;
}
Kết quả
Phương trình: 5 * 2^7 = 640
Ví dụ khác
#include <bits/stdc++.h>
using namespace std;
int main() {
float a = 2.3;
float b = 7.8;
float hold;
hold = scalbn(b, a);
cout << "Phương trình: " << b << " * " << FLT_RADIX << "^" << a << " = " << hold << endl;
return 0;
}
Kết quả
Phương trình: 7.8 * 2^2.3 = 31.2