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

Hàm scalbn() trong C++


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