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

ฟังก์ชัน scalbn() ใน C++

ในบทความนี้ เราจะอภิปรายการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน scalbn() ใน C++ STL

scalbn() คืออะไร?

ฟังก์ชัน scalbn() เป็นฟังก์ชันสำเร็จรูปใน C++ STL ซึ่งถูกกำหนดในไฟล์หัวข้อ <cmath> ฟังก์ชัน scalbn() ใช้สำหรับการปรับขนาด (scale) อย่างมีนัยสำคัญโดยใช้ฐานเลขชี้กำลังจุดลอยตัว (floating point base exponent)

Significand (ตัวเลขสำคัญ) เป็นส่วนของตัวเลขจุดลอยตัวที่ประกอบด้วยหลักที่สำคัญ ขึ้นอยู่กับการตีความของเลขชี้กำลัง significand อาจเป็นจำนวนเต็มหรือเศษส่วน

ฟังก์ชันคำนวณผลคูณของ num และ FLT_RADIX ยกกำลัง n โดยที่ FLT_RADIX คือฐานของชนิดข้อมูลจุดลอยตัวทั้งหมด และ num คือค่า significand และ n คือค่าเลขชี้กำลัง

ไวยากรณ์

double scalbn( double num, int n );
float scalbn( float num, int n );
long double scalbn( long double num, int n );

พารามิเตอร์

ฟังก์ชันยอมรับพารามิเตอร์ต่อไปนี้:

  • num - เป็นค่าของ significand
  • n - เป็นค่าของเลขชี้กำลัง

ค่าที่ส่งคืน

ฟังก์ชันนี้ส่งคืน num * FLT_RADIX^n หากสำเร็จ มิฉะนั้นส่งคืนข้อผิดพลาด math_errhandling

ตัวอย่าง

Input

scalbn(5, 7);

Output

640

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;

int main() {
    int a = 7;
    int b = 5;
    int hold;
    hold = scalbn(b, a);
    cout << "Equation is: " << b << " * " << FLT_RADIX << "^" << a << " = " << hold << endl;
    return 0;
}

ผลลัพธ์

Equation is: 5 * 2^7 = 640

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;

int main() {
    float a = 2.3;
    float b = 7.8;
    float hold;
    hold = scalbn(b, a);
    cout << "Equation is: " << b << " * " << FLT_RADIX << "^" << a << " = " << hold << endl;
    return 0;
}

ผลลัพธ์

Equation is: 7.8 * 2^2.3 = 31.2