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

Hàm ilogb() trong C++ STL

ilogb() (integer log base) trong <cmath> trả về phần nguyên của logarit cơ số FLT_RADIX (thường là 2) của |x|.

Cú pháp

int ilogb(double x);

Giá trị trả về đặc biệt

  • x = NaN → FP_LOGBNAN
  • x = vô cực → INT_MAX
  • x = 0 → FP_LOGB0

Ví dụ

#include <cfloat>
#include <cmath>
#include <iostream>
using namespace std;

int main() {
    cout << "ilogb(2) = " << ilogb(2) << endl;     // 1
    cout << "ilogb(10.23) = " << ilogb(10.23) << endl; // 3
    return 0;
}

Đầu ra

ilogb(2) = 1
ilogb(10.23) = 3