>> DAVID J. Malan: Nagu te ilmselt teate, temperatuure mõõdetakse
eri tasandi eri maailma osades.
Näiteks 212 kraadi Fahrenheiti on 100 kraadi ja 32 kraadi
Fahrenheit on 0 kraadi Celsiuse järgi.
Kas poleks tore, kui meil oli arvuti programm, mis võimaldas meil
teisendada, ütleme, Fahrenheit Celsiuse?
>> Noh, me saame kirjutada, et programm.
Vaatame kõigepealt alustada hulka cs50.h, nii et saame kasutada funktsiooni nimetatakse
saada float, mis, nagu get int, saab number alla, kuid seekord
ujukomaarvuna - üks koos koma.
>> Teeme ka standard io.h nii et meil on juurdepääs
funktsioone nagu print f.
Ja olgem ka tunnistada peamised tavalisel viisil.
>> Teeme järgmise kiire kasutaja jaoks temperatuur Fahrenheiti järgi.
Olgem nüüd tegelikult saada, et temperatuur alates kasutaja kõigepealt
kuulutatakse muutuja nimega f tüüpi float.
Float, jälle, mis tähendab, muutuja, mis salvestab ujukoma väärtust
üks koma.
>> Olgem määrata selle tagastamise väärtus get float.
Ja siis teeme natuke aritmeetiline on see esimene kuulutatakse teine ​​ujuk
nimetatakse C Celsius ja kaupluse C tulemusena mõned ühised aritmeetika.
5,0 jagatud 9,0 korda F miinus 32,0.
>> Olgem nüüd printida tulemus Selle arvutuse.
protsenti f -
mis tähendab kohatäide Murdarv -
koma C välja trükkida temperatuur Celsiuse järgi.
Hoiame oma lõplik.
Koostage koos F C. Run programmi dot kaldkriipsuga F C.
>> Ja proovime neid ühiseid temperatuuridel.
212 kraadi Fahrenheiti on 100 kraadi Celsiuse järgi.
32 kraadi Fahrenheiti on 0 kraadi Celsiuse järgi.
>> Nüüd võimaldab täpsustada seda programmi vähe natuke mitte trükkimiseks üsna paljud 0-
pärast, et kümnendkohani.
Et seda teha, ma lähen mine tagasi rida 11.
Ja mitte lihtsalt täpsustada protsenti f, Ma lähen selle asemel määrata, ütleme,
0,1 f, teavitades print f, et ma ainult soovite printida Murdarv
üks väärtus pärast kümnendkohani.
>> Olgem salvestage oma programmi.
Kompileeri see make F C. Seejärel uuesti, siis koos dot kaldkriipsuga F C ja
olgem proovimiseks, ütleme, 212, mis annab mulle 100,0.
>> Nüüd on see väärib märkimist, et ma tegin midagi väga teadlikult line 9.
Märka, kuidas ma kirjutasin 5 on 5,0, 9 kui 9,0, ja isegi 32 kui 32,0.
Noh, neist kahe esimese väärtused väga teadlikult valitud olema
ujukoma väärtuste, mitte ainult sellepärast, kooskõla ülejäänud
Minu programmi -
mis loomulikult eeldab ujuv punkt väärtused -
kuid kuna selgub, et C, Kui jagada int teine ​​int,
Saadud vastus sa lähed, et saada on ise int, isegi kui see tähendab,
võttes visata kõik pärast koma.
>> Teisisõnu, kui ma seda muuta 5,0 kuni 5 või käesoleva 9,0-9 ja seejärel salvestage
minu programm, kompileeri koos make F C, ja siis uuesti käivitada koos dot kaldkriipsuga F
C ja kirjuta sisend nagu 212, märgata, et vastus, mille ma lähen
saada see aeg on tegelikult täiesti vale.
0,0 ei ole õige kraad Celsius kui 212 Fahrenheiti järgi.
>> Noh, mis toimub?
Noh, vastavalt 9, sest 5 on nüüd täisarv ja kuna 9 on nüüd
täisarv tulemus matemaatiliselt peaks olema 0,5555 ja nii edasi.
Kuid kuna tulemus, vastavalt C eeskirju, peab olema int, et
0,5555 saab ära visata, jättes meile vaid 0.
>> Nii et lõpuks, ma lõpuks korrutades täiesti juhuslikult 0 korda f miinus
32,0, mis on ükskõik mida alati läheb mulle 0.
Nii et pidage meeles, igal ajal, kasutades ujukoma väärtuste lähedus
ints, sa ei pruugi tingimata saada vastus, et sa oodata.
Ja nii hoolitseda kasutada, kui ma tegin Esimesel juhul ujukoma väärtuste
kogu, et vältida selliseid probleeme.