1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:02,700 >> ALTAVOZ 1: Supongamos que me gustaría escribir un programa que imprima un flotador, 3 00:00:02,700 --> 00:00:05,700 específicamente el resultado de dividir 1 por 10. 4 00:00:05,700 --> 00:00:08,830 Bueno, mi primer instinto sería escribir este programa de la siguiente manera. 5 00:00:08,830 --> 00:00:18,160 Float f es igual a 1 dividido por 10, y luego imprimir f de 0,1 por ciento f, de ese modo 6 00:00:18,160 --> 00:00:22,270 lo que significa que me gustaría imprimir un flotador con un decimal, 7 00:00:22,270 --> 00:00:26,490 barra invertida n coma f. 8 00:00:26,490 --> 00:00:28,270 Ahora vamos a compilar este programa. 9 00:00:28,270 --> 00:00:32,980 Hacer float 0 puntos slash float 0. 10 00:00:32,980 --> 00:00:34,140 >> Bueno, eso no es del todo correcto. 11 00:00:34,140 --> 00:00:40,210 Estoy bastante seguro de que 1 dividido por 10, o 1/10 no es 0.0, pero 0.1, y sin embargo, 12 00:00:40,210 --> 00:00:42,820 aquí estoy viendo en la pantalla de 0,0. 13 00:00:42,820 --> 00:00:43,860 ¿Qué está pasando? 14 00:00:43,860 --> 00:00:47,790 Bueno, resulta que en c, si dividir un entero por un entero, 15 00:00:47,790 --> 00:00:49,090 vuelvas un int. 16 00:00:49,090 --> 00:00:54,810 Y así, a pesar de que 1 dividido por 10 es de hecho 0.10, 0.1 no puede caber en un int, 17 00:00:54,810 --> 00:00:58,930 y así lo c hace es que trunca, o tira a la basura todo lo que después de la 18 00:00:58,930 --> 00:01:01,770 decimal, lo que deja nosotros con sólo 0. 19 00:01:01,770 --> 00:01:04,989 >> Pero entonces, por supuesto, con la impresión f, que especificamos que queremos imprimir a f 20 00:01:04,989 --> 00:01:09,260 un decimal, por lo que 0 se muestra como 0.0. 21 00:01:09,260 --> 00:01:11,540 Bueno, claramente esto es un problema que necesita una solución. 22 00:01:11,540 --> 00:01:14,025