Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

rint, rintf, rintl

Visual Studio 2013

Redondea un valor de punto flotante al entero más cercano en el formato de punto flotante.

double rint( double x ); float rint( float x );  // C++ only long double rint( long double x );  // C++ only float rintf( float x );  long double rintl( long double x );  

x

Valor de punto flotante que se va a redondear.

Las funciones rint devuelven un valor de punto flotante que representa el entero más cercano a x. Los valores a medio camino se redondean en función de la configuración actual del modo de redondeo de puntos flotantes, al igual que las funciones nearbyint. Al contrario de lo que sucede con las funciones nearbyint, las funciones rint pueden generar la excepción de punto flotante FE_INEXACT si el valor del resultado es distinto del argumento. No se devuelve ningún error.

Entrada

Excepción SEH

Excepción de _matherr

± ∞, QNAN, IND

ninguna

ninguna

Desnormalizados

EXCEPTION_FLT_UNDERFLOW

ninguna

Puesto que C++ permite las sobrecargas, es posible llamar a las sobrecargas de rint que toman y devuelven los valores float y long double. En un programa C, rint siempre y devuelve double.

Función

Encabezado C

Encabezado C++

rint, rintf, rintl

<math.h>

<cmath>

Para obtener información adicional de compatibilidad, vea Compatibilidad.

// crt_rint.c
// Build with: cl /W3 /Tc crt_rint.c
// This example displays the rounded results of
// the floating-point values 2.499999, -2.499999, 
// 2.8, -2.8, 2.5 and -2.5.

#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 2.499999;
   float y = 2.8f;
   long double z = 2.5;

   printf("rint(%f) is %.0f\n", x, rint (x));
   printf("rint(%f) is %.0f\n", -x, rint (-x));
   printf("rintf(%f) is %.0f\n", y, rintf(y));
   printf("rintf(%f) is %.0f\n", -y, rintf(-y));
   printf("rintl(%Lf) is %.0Lf\n", z, rintl(z));
   printf("rintl(%Lf) is %.0Lf\n", -z, rintl(-z));
}
rint(2,499999) es 2
rint(-2.499999) es -2
rintf(2,800000) es 3
rintf(-2.800000) es -3
rintl(2,500000) es 3
rintl(-2.500000) es -3

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft