1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID MALAN: Entonces, ¿cómo puede resolvemos este problema? 3 00:00:01,830 --> 00:00:05,310 Bueno, la forma más fácil es sólo para evitar enteros por completo, y en su lugar definen 4 00:00:05,310 --> 00:00:06,960 un flotador por un flotador. 5 00:00:06,960 --> 00:00:12,460 En concreto, vamos a cambiar 1-1,0 y de 10 a 10,0, a continuación, guarde este 6 00:00:12,460 --> 00:00:14,380 presentar como floats1.c. 7 00:00:14,380 --> 00:00:20,270 Ahora vamos a compilarlo con make floats1, y luego ejecutarlo con floats1. 8 00:00:20,270 --> 00:00:22,590 Y ahora, de hecho veo 0.1. 9 00:00:22,590 --> 00:00:25,540 >> Hay otra manera podríamos resolver , y que está usando casting. 10 00:00:25,540 --> 00:00:29,750 Fundición es el proceso de convertir uno tipo de datos a otro, suponiendo que 11 00:00:29,750 --> 00:00:31,130 tiene sentido hacerlo. 12 00:00:31,130 --> 00:00:34,370 En este caso, lo que podría hacer es volver a la versión de código donde estoy 13 00:00:34,370 --> 00:00:40,050 dividir uno en int por 10 en int, pero Yo podría decirle explícitamente al compilador 14 00:00:40,050 --> 00:00:43,990 que quiero tratar 1 como si se trata de un flotar, aunque es un int, y 15 00:00:43,990 --> 00:00:48,270 Me gustaría tratar a 10 como un flotador, a pesar de que, también, es un int. 16 00:00:48,270 --> 00:00:51,760 >> En realidad, podría salirse con la suya casting de uno de ellos a un flotador, 17 00:00:51,760 --> 00:00:55,350 porque si se divide un flotador por un int, o un int por un flotador, C se 18 00:00:55,350 --> 00:00:57,550 volveré a ustedes un valor de punto flotante. 19 00:00:57,550 --> 00:01:01,150 Pero en este caso, por si acaso, voy a convertir tanto a los flotadores, recompilar 20 00:01:01,150 --> 00:01:06,380 mi programa con maquillaje floats1, a continuación, ejecutarlo con floats1 slash dot, 21 00:01:06,380 --> 00:01:08,770 y también veo 0.1. 22 00:01:08,770 --> 00:01:10,983