>> DAVID J. MALAN: Siz yəqin bilirsiniz ki, temperatur istifadə ölçülür
müxtəlif müxtəlif tərəzi dünya hissələri.
Məsələn, 212 dərəcə Fahrenheit edir 100 dərəcə Selsi və 32 dərəcə
Fahrenheit 0 dərəcə Selsi.
Biz bir kompüter idi, əgər gözəl olmazdı bizə icazə proqramı
Fahrenheit, demək ki, çevirmək Selsi?
>> Yaxşı, ki, proqram yazmaq olar.
Ilk cs50.h daxildir ilə başlamaq edək, biz adlı funksiyası istifadə edə bilərsiniz, belə ki,
get int kimi, olur ki, float, almaq istifadəçi sayı, lakin bu dəfə
üzən point sayı - bir kəsir ilə.
>> Nin də standart io.h daxil imkan biz çıxış var ki,
print f kimi funksiyaları.
Və həmçinin əsas bəyan edək adi şəkildə.
>> Növbəti üçün istifadəçi təklif edək Fahrenheit temperatur.
İndi qoy həqiqətən ki, temperatur almaq istifadəçi, birinci
adlı dəyişən elan növü float f.
A float, yenə, bir dəyişən məna ki, , bir üzən point dəyər saklar
kəsir ilə bir.
>> Nin qaytarılması təyin edək get float dəyəri.
Və sonra arifmetik bir az bunu bildirin bu, ilk bir float elan
C Selsi və mağaza çağırıb C bəzi ümumi hesab nəticə.
5.0 9.0 dəfə F minus 32.0 bölünür.
>> Indi nəticəsində çap edək Bu hesablama.
faiz f -
üçün tutucu signifying üzən point dəyəri -
çap vergül C Selsi temperatur.
Mənim final xilas edək.
C. Run F proqram ilə tərtib C. dot çizgi F ilə
>> Və bu ümumi edək temperatur.
Fahrenheit 212 dərəcə 100 dərəcə Selsi.
Fahrenheit 32 dərəcə Selsi 0 dərəcə.
>> İndi bu proqram bir az saflaşdırmaq imkan verir olduqca çox 0 nin çap olmayan bit
ki decimal yer sonra.
Bunu etmək üçün, mən gedirəm geri line 11 getmək.
Və daha çox yalnız faiz f daxil, I, demək əvəzinə müəyyən etmək üçün gedirəm
Mən yalnız 0.1 f, məlumat print f üzən point dəyər çap etmək istəyirəm
decimal yer sonra bir dəyəri.
>> Mənim proqram resave edək.
Sonra C. etmək F ilə derleyeceğiz dot çizgi C. F Və ilə təkrar
nin 212, demək, yeniden imkan, olan mənə 100.0 verir.
>> İndi mən etdim qeyd dəyər çox qəsdən line 9 bir şey.
Mən 5 5.0, 9 yazdı necə edək 9,0 və 32.0 kimi hətta 32 kimi.
Bəli, bu dəyərlərin ilk iki idi çox qəsdən olmaq üçün seçilmişdir
üzən point dəyərləri deyil, yalnız çünki qalan ardıcıllıq
mənim proqram -
olan aydın üzən daxildir point dəyərlər -
ancaq Əgər, ki, C çıxır, çünki başqa int bir int bölmək
Siz almaq olacaq nəticələnən cavab özü bir int, belə ki, əgər vasitələri
hər şey tullamaq olan Bu kəsir sonra.
>> Başqa sözlə, bu 5.0 dəyişdirmək əgər 5 və ya sonra bu 9 9.0 və resave
mənim proqram, C markası F ilə compile və sonra dot çizgi F ilə yenidən run
212 kimi bir giriş C və növü, fark Mən gedirəm cavab
bu dəfə həqiqətən olduqca yanlış almaq.
0.0 doğru dərəcə deyil 212 Fahrenheit kimi Selsi.
>> Yaxşı, nə olub?
Yaxşı, line 9, 5, çünki indi bir deyil tam və çünki 9 indi edir
tam, nəticə riyazi belə 0,5555 olmalıdır.
Amma nəticə olaraq, çünki C-nin qaydaları, bir int var ki,
0,5555, üz atılır olur yalnız 0 bizi tərk.
>> Belə ki, sonunda, mən vurulması başa olduqca təsadüfən 0 dəfə f minus
Nə olursa olsun olan 32.0, həmişə mənə 0 vermək niyyətindədir.
Belə ki, istifadə edərək, nəzərə hər hansı bir vaxt saxlamaq yoxdur yaxınlığında üzən point dəyərləri
ints, siz güc mütləq gözləmək belə cavab almaq.
Mən olduğu kimi, belə ki, istifadə etmək üçün qayğı Birinci halda, üzən point dəyərləri
ərzində bu cür məsələləri qarşısını almaq üçün.