Establecer precisión decimal en lenguaje C

Establecer precisión decimal en lenguaje C

Este artículo le mostrará cómo establecer la precisión decimal en el lenguaje de programación C. Primero, definiremos la precisión, y luego buscaremos múltiples ejemplos para mostrar cómo establecer la precisión decimal en la programación C.

Precisión decimal en c

La variable de tipo entero se usa normalmente para contener el número entero y la variable de tipo flotante para contener los números reales con partes fraccionales, por ejemplo, 2.449561 o -1.0587. La precisión determina la precisión de los números reales y se denota por el punto (.) símbolo. La exactitud o precisión de los números reales se indica por el número de dígitos después del punto decimal. Entonces, la precisión significa el número de dígitos mencionados después del punto decimal en el número de flotación. Por ejemplo, el número 2.449561 tiene precisión seis y -1.058 tiene precisión tres.

Según la representación de punto flotante de precisión única IEEE-754, hay un total de 32 bits para almacenar el número real. De los 32 bits, el bit más significativo se usa como un bit de signo, los siguientes 8 bits se usan como exponentes y los siguientes 23 bits se usan como fracción.

En el caso de la representación de punto flotante de doble precisión IEEE-754, hay un total de 64 bits para almacenar el número real. De los 64 bits, el bit más significativo se usa como un bit de signo, los siguientes 11 bits se usan como exponente y los siguientes 52 bits se usan como fracción.

Sin embargo, al imprimir los números reales, es necesario especificar la precisión (en otras palabras, precisión) del número real. Si no se especifica la precisión, se considerará la precisión predeterminada, i.mi., Seis dígitos decimales después del punto decimal. En los siguientes ejemplos, le mostraremos cómo especificar la precisión al imprimir números de punto flotante en el lenguaje de programación C.

Ejemplos

Ahora que tiene una comprensión básica de la precisión, veamos un par de ejemplos:

    1. Precisión predeterminada para flotación
    2. Precisión predeterminada para el doble
    3. Establecer precisión para el flotador
    4. Establecer precisión para el doble

Ejemplo 1: Precisión predeterminada para flotación

Este ejemplo muestra que la precisión predeterminada se establece en seis dígitos después del punto decimal. Hemos inicializado una variable flotante con el valor 2.7 e imprimirlo sin especificar explícitamente la precisión.

En este caso, la configuración de precisión predeterminada asegurará que se impriman seis dígitos después del punto decimal.

#incluir
int main ()

flotante f = 2.7;
printf ("\ nValue de f = %f \ n", f);
printf ("tamaño de float = %ld \ n", sizeOf (float));
regresar 0;

Ejemplo 2: Precisión predeterminada para el doble

En este ejemplo, verá que la precisión predeterminada se establece en seis dígitos después del punto decimal para variables de tipo doble. Hemos inicializado una doble variable, yo.mi., D, con el valor 2.7 e imprimirlo sin especificar la precisión. En este caso, la configuración de precisión predeterminada asegurará que se impriman seis dígitos después del punto decimal.

#incluir
int main ()

Doble D = 2.7;
printf ("\ nValue de d = %lf \ n", d);
printf ("tamaño de doble = %ld \ n", sizeof (doble));
regresar 0;

Ejemplo 3: Establezca precisión para flotante

Ahora, le mostraremos cómo establecer la precisión para los valores de flotación. Hemos inicializado una variable flotante, yo.mi., F, con el valor 2.7, y lo imprimió con varias configuraciones de precisión. Cuando mencionamos "%0.4f ”En la declaración Printf, esto indica que estamos interesados ​​en imprimir cuatro dígitos después del punto decimal.

#incluir
int main ()

flotante f = 2.7;
/ * Establecer precisión para la variable flotante */
printf ("\ nValue de f (precisión = 0.1) = %0.1f \ n ", f);
printf ("\ nValue de f (precisión = 0.2) = %0.2f \ n ", f);
printf ("\ nValue de f (precisión = 0.3) = %0.3f \ n ", f);
printf ("\ nValue de f (precisión = 0.4) = %0.4f \ n ", f);
printf ("\ nValue de f (precisión = 0.22) = %0.22f \ n ", f);
printf ("\ nValue de f (precisión = 0.23) = %0.23f \ n ", f);
printf ("\ nValue de f (precisión = 0.24) = %0.24f \ n ", f);
printf ("\ nValue de f (precisión = 0.25) = %0.25f \ n ", f);
printf ("\ nValue de f (precisión = 0.40) = %0.40f \ n ", f);
printf ("tamaño de float = %ld \ n", sizeOf (float));
regresar 0;

Ejemplo 4: Establezca precisión para el doble

En este ejemplo, veremos cómo establecer precisión para valores dobles. Hemos inicializado una doble variable, yo.mi., D, con el valor 2.7 e imprimirlo con varias configuraciones de precisión. Cuando mencionamos "%0.52f ”En la declaración Printf, esto indica que estamos interesados ​​en imprimir 52 dígitos después del punto decimal.

#incluir
int main ()

flotante f = 2.7;
/ * Establecer precisión para la variable flotante */
printf ("\ nValue de f (precisión = 0.1) = %0.1f \ n ", f);
printf ("\ nValue de f (precisión = 0.2) = %0.2f \ n ", f);
printf ("\ nValue de f (precisión = 0.3) = %0.3f \ n ", f);
printf ("\ nValue de f (precisión = 0.4) = %0.4f \ n ", f);
printf ("\ nValue de f (precisión = 0.22) = %0.22f \ n ", f);
printf ("\ nValue de f (precisión = 0.23) = %0.23f \ n ", f);
printf ("\ nValue de f (precisión = 0.24) = %0.24f \ n ", f);
printf ("\ nValue de f (precisión = 0.25) = %0.25f \ n ", f);
printf ("\ nValue de f (precisión = 0.40) = %0.40f \ n ", f);
printf ("tamaño de float = %ld \ n", sizeOf (float));
regresar 0;

Conclusión

La precisión es un factor muy importante para representar un número real con una precisión adecuada. El lenguaje de programación C proporciona el mecanismo para controlar la precisión o exactitud de un número real. Sin embargo, no podemos cambiar la precisión real del número real. Por ejemplo, la parte de la fracción de un número de punto flotante de 32 bits de precisión se representa por 23 bits, y esto se fija; No podemos cambiar esto para un sistema en particular. Solo podemos decidir cuánta precisión queremos al establecer la precisión deseada del número real. Si necesitamos más precisión, siempre podemos usar el número de punto flotante de doble precisión de 64 bits.