1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:02,700 >> SPEAKER 1: Anta at jeg har lyst til å skrive et program som skriver ut en dupp, 3 00:00:02,700 --> 00:00:05,700 spesielt resultatet med å dele en av 10. 4 00:00:05,700 --> 00:00:08,830 Vel, ville mine første instinkter være å skrive dette programmet som følger. 5 00:00:08,830 --> 00:00:18,160 Float f er lik 1 dividert med 10, og deretter skrive ut f av prosent 0,1 f, og dermed 6 00:00:18,160 --> 00:00:22,270 som betyr at jeg har lyst til å skrive ut en flottør til én desimal, 7 00:00:22,270 --> 00:00:26,490 backslash n komma f. 8 00:00:26,490 --> 00:00:28,270 La oss nå kompilere dette programmet. 9 00:00:28,270 --> 00:00:32,980 Gjør float 0 dot slash float 0. 10 00:00:32,980 --> 00:00:34,140 >> Vel, det er ikke helt riktig. 11 00:00:34,140 --> 00:00:40,210 Jeg er ganske sikker på at en delt på 10, eller 1/10 er ikke 0,0, men 0,1, og ennå 12 00:00:40,210 --> 00:00:42,820 her jeg ser på skjermen 0,0. 13 00:00:42,820 --> 00:00:43,860 Hva er det som skjer? 14 00:00:43,860 --> 00:00:47,790 Vel, det viser seg at i c, hvis du dele en int med en int, 15 00:00:47,790 --> 00:00:49,090 du får tilbake en int. 16 00:00:49,090 --> 00:00:54,810 Og så selv om en delt på 10 er faktisk 0.10, 0.1 kan ikke få plass i en int, 17 00:00:54,810 --> 00:00:58,930 og så hva c ikke er det avkorter, eller kaster bort alt etter 18 00:00:58,930 --> 00:01:01,770 desimal, og dermed forlate oss med bare 0. 19 00:01:01,770 --> 00:01:04,989 >> Men så, selvfølgelig, med print f, vi spesifisere at vi ønsker å skrive ut f til 20 00:01:04,989 --> 00:01:09,260 én desimal, og slik at 0 vises som 0,0. 21 00:01:09,260 --> 00:01:11,540 Vel, klart dette er et problem som krever en løsning. 22 00:01:11,540 --> 00:01:14,025