Suporte de ponto flutuante
Muitas funções de biblioteca de tempo de execução da Microsoft requerem suporte de ponto flutuante de um coprocessador matemático ou de bibliotecas de ponto flutuante que acompanham o compilador. As funções de suporte de ponto flutuante só são carregadas se necessário.
Quando você usa um especificador de tipo flutuante na cadeia de caracteres de formato de uma chamada para uma função na família printf ou scanf, especifique um valor de ponto flutuante ou um ponteiro para um valor de ponto flutuante na lista de argumentos para dizer ao compilador que é necessário suporte ao ponto flutuante.
No caso de código de amostra que mostre como tratar exceções de ponto flutuante, consulte _fpieee_flt.
A precisão de ponto flutuante de valores intermediários é controlada pelas funções _control87, _controlfp, __control87_2. Por padrão, o controle de precisão no _controlfp é definido para 53 bits (_PC_53). Vincular usando FP10.OBJ altera o controle de precisão padrão para 64 bits (_PC_64). Na linha de comando do vinculador, FP10.OBJ deve aparecer antes de LIBC.LIB, LIBCMT.LIB ou MSVCRT.LIB.
Funções de ponto flutuante
Rotina |
Uso |
Equivalente ao .NET Framework |
---|---|---|
Valor absoluto de retorno de int |
||
Calcular arco cosseno |
||
Calcular arco seno |
||
Calcular arco tangente |
||
Converter cadeia de caracteres para valor de ponto flutuante de precisão dupla |
||
Calcular funções Bessel _j0, _j1, _jn, _y0, _y1, _yn |
Não aplicável. Para chamar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma. |
|
Localizar o valor absoluto de um número complexo |
Não aplicável. |
|
Calcular a raiz do cubo |
Não aplicável. |
|
Localizar o teto do inteiro |
||
Reverter o sinal do ponto flutuante de precisão dupla ou argumento de ponto flutuante de precisão dupla longo |
Não aplicável. |
|
Obter e limpar a palavra de status do ponto flutuante |
Não aplicável. |
|
Obter a palavra de controle de ponto flutuante e definir o novo valor da palavra de controle |
Não aplicável. |
|
copysign, copysignf, copysignl, _copysign, _copysignf, _copysignl |
Retornar um valor com o sinal de outro |
Não aplicável. |
Calcular cosseno |
||
Calcular diferença entre dois valores de tempo especificados |
||
Dividir um inteiro por outro, retornando o cociente e o restante |
Não aplicável. |
|
Converter double para uma cadeia de caracteres de comprimento especificado |
||
Calcular função exponencial |
||
Localizar valor absoluto |
||
Converter double para cadeia de caracteres que tenha um número especificado de dígitos após o separador decimal |
||
Determinar se um determinado valor de ponto flutuante de precisão dupla é finito |
||
Encontrar o maior inteiro menor ou igual ao argumento |
||
Localizar o restante do ponto flutuante |
||
Retornar palavra de status contendo informações sobre a classe do ponto flutuante |
System::Double::IsInfinity, System::Double::IsNegativeInfinity, System::Double::IsPositiveInfinity, System::Double::IsNan |
|
Chamar identificador de interceptação definido pelo usuário para exceções de ponto flutuante do IEEE |
Não aplicável. |
|
Reinicializar o pacote matemático de ponto flutuante |
|
|
Calcular o valor exponencial |
Não aplicável. |
|
Converter o valor de ponto flutuante para uma cadeia de caracteres |
||
Calcular a hipotenusa do triângulo direito |
Não aplicável. |
|
Verificar valor de ponto flutuante de precisão dupla indicado para NaN (Não é um número) |
||
Valor absoluto de retorno de long |
||
Calcular o produto do argumento e 2exp (potência especificada) |
||
Dividir um inteiro long por outro, retornando o cociente e o restante |
Não aplicável. |
|
Calcular o logaritmo natural ou de base 10. |
||
Extrair o valor exponencial do argumento de ponto flutuante de precisão dupla |
Não aplicável. |
|
Mudar unsigned long int para a esquerda (_lrotl) ou para a direita (_lrotr) |
Não aplicável. |
|
Tratar erros matemáticos |
Não aplicável. |
|
Retornar maior de dois valores |
||
Retornar menor de dois valores |
||
Dividir argumento em inteiro e partes fracionais |
Não aplicável. |
|
Retornar um valor NaN silencioso |
||
Retornar próximo vizinho representável |
Não aplicável. |
|
Calcular valor elevado à potência |
||
printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l |
Gravar dados em stdout de acordo com o formato especificado |
|
Obter número pseudoaleatório |
||
Arredondar ao inteiro mais próximo no formato de ponto flutuante |
||
Mudar unsigned int para a esquerda (_rotl) ou para a direita (_rotr) |
Não aplicável. |
|
Escalar argumento pela potência de 2 |
Não aplicável. |
|
Multiplicar por potência integral de FLT_RADIX |
Não aplicável. |
|
Ler dados de stdin de acordo com o formato especificado e gravar dados no local especificado |
||
Definir novo valor de palavra de controle |
Não aplicável. |
|
Calcular seno ou seno hiperbólico |
||
Encontrar raiz quadrada |
||
Inicializar série pseudoaleatória |
||
Obter palavra de status de ponto flutuante |
Não aplicável. |
|
Converter cadeia de caracteres em valor de precisão dupla |
||
Calcular tangente ou tangente hiperbólica |