Давид Ј. Малан: Као што вероватно знате, температуре се мери помоћу различите скале за различите деловима света. На пример, 212 степени Целзијуса је 100 степени Целзијуса и 32 степени Фаренхајт је 0 степени Целзијуса. Зар не би било лепо да смо имали компјутер Програм који нам је омогућио да се цонверт из, рецимо, Фаренхајт да Целзијуса? Па, можемо написати тај програм. Хајде да прво почнемо са обухватају цс50.х, тако да можемо да користимо функцију која се зове добити пловак, који, као и гет инт, добија број од корисника, али овај пут флоатинг поинт број - један са децимални зарез. Хајде да такође укључују стандардне ио.х тако да имамо приступ Функције као што су штампање ф. И да такође прогласе главни на уобичајени начин. Хајде да следећи питати корисника за температура у Целзијуса. Хајде да сада заиста добити ту температуру од корисника, прво проглашења променљиву зове Ф типа флоат. Плутају, опет, значи да променљиву складишти у покретном зарезу вредности, један са децимални зарез. Хајде да га доделите повратак вредност гет пловка. И онда хајде да урадимо мало аритметике на њему, прво изјављујући други пловак позвао Ц за Целзијуса и продавницу у Ц резултат неког заједничког аритметике. 5.0 подељен 9.0 пута Ф минус 32.0. Хајде да сада одштампате резултат овог рачунања. одсто Ф - означава чувара места за флоатинг поинт вредност - зарез Ц да одштампате температура у Целзијуса. Хајде да спасим финале. Цомпиле са Ф до Ц. покрените програм са дот сласх Ф до Ц. И хајде да покушамо оне уобичајене температуре. 212 степени у Фаренхајт је 100 степени Целзијуса. 32 степени у Фаренхајт је 0 степени Целзијуса у. Сада омогућава рефине овај програм мало Мало по не баш онолико штампањем 0'С после тог децимална места. Да бисте то урадили, ја ћу да вратимо на линији 11. И уместо да само наведете одсто ф, Идем да уместо тога одредите, рецимо, 0,1 м, информисање штампа ф да сам само Желим да одштампате у покретном зарезу вредност на једној вредности након децимална места. Хајде да поново сачувате свој програм. Компајлирате га са маке Ф до Ц. Онда реприза је са дот сласх Ф до Ц и хајде да поново покушати са, рецимо, 212, који ми даје 100,0. Сада је напоменути да јесам нешто врло намерно у линији 9. Обратите пажњу како сам написао 5 је 5,0, 9 као 9.0, па чак и 32 као 32.0. Па, прва два од тих вредности су врло намерно изабран да буде вредности у покретном зарезу, не само зато конзистентности са остатком мог програма - што јасно укључује плутајуће Вредности тачка - али зато се испоставља да је Ц, ако поделити инт другог инт, Добијени одговор ћеш добити је Сама инт, чак и ако то значи потребе да се баци све после децималног зареза. Другим речима, ако променим овај 5.0 на 5 или то 9.0 до 9 и затим поново сачувате мој програм, рекомпајлирате са маке Ф до Ц, а затим га поново покренути са дот сласх Ф на Ц и типу на улазу у као 212, приметити да одговор ћу се овог пута је заправо сасвим погрешно. 0.0 није тачан степен у Целзијус као 212 Фаренхајта. Па, шта се дешава? Па, у реду 9, јер је сада 5 цео број и зато је сада 9 цео број, резултат математички треба да буде 0.5555 и тако даље. Али пошто резултат, према Правила Ц, има да буде инт, који 0.5555 бива бачен далеко, остављајући нас са само 0. Дакле, на крају, сам завршити множењем сасвим случајно 0 пута ф минус 32.0, што је без обзира Увек ће ми дати 0.. Дакле, имајте на уму, сваки пут користећи флоатинг поинт вредности у близини интс, ти не би нужно добити одговор тако што очекујете. И тако се побринути да користе, као што сам учинио у вредности први случај, Флоатинг Поинт широм да се избегне било таквих питања.