English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Operadores de Bit ++a função frexp(x, exp) da biblioteca frexp retorna o quociente e o expoente de um número flutuante.
o número significativo binário é um número flutuante, cujo módulo (quociente) está na faixa [0.5,1]] O exponencial inteiro é2.
A função está emCdefinido no cabeçalho.
matematicamente
x = significando binário * 2exponencial
onde o expoente é armazenado no local apontado por exp e o número significativo binário é o valor retornado pela frexp().
double frexp (double x, int* exp); float frexp (float x, int* exp); long double frexp (long double x, int* exp); double frexp (T x, int* exp); //para inteiro
A função frexp() tem dois parâmetros e retorna um valor binário significativo do tipo double, float ou long double.
x -o valor a ser decomposto.
exp -ponteiro para o inteiro que armazenará o expoente.
a função frexp() retorna o quociente, cujo módulo está na faixa [0.5,1]] Se x for zero, o número significativo e o exponencial são ambos zero.
parâmetro (x) | bit de valor binário | exponencial |
---|---|---|
Copyright © | Copyright © | Copyright © |
x >= 1 | positivo | positivo |
x <= -1 | negativo | positivo |
-1 <x < 0 | negativo | negativo |
0 < x <1 | positivo | negativo |
#include <iostream> #include <cmath> using namespace std; using namespace std; int main() double x = 6.81, significand; double significand; *exp; significand = frexp(x, exp); significand = frexp(x, exp); * 2cout << x << " = " << significand << "" *^" << exp << endl; return 0;
}
6.81 Ao executar o programa, a saída será:85125 * 2= 0.3
#include <iostream> #include <cmath> using namespace std; using namespace std; int main() { double significand; *int 25exp, x = ; significand = frexp(x, exp); * 2cout << x << " = " << significand << "" *^" << exp << endl; return 0;
}
25 Ao executar o programa, a saída será:78125 * 2= 0.5