డేవిడ్ J. మలన్: మీరు బహుశా తెలిసి, ఉష్ణోగ్రతలు ఉపయోగించి కొలుస్తారు వివిధ లో వివిధ ప్రమాణాల ప్రపంచవ్యాప్తంగా. ఉదాహరణకు, 212 డిగ్రీల ఫారెన్హీట్ ఉంటుంది 100 డిగ్రీల సెల్సియస్ మరియు 32 డిగ్రీల ఫారెన్హీట్ 0 డిగ్రీల ఉంది. మేము కంప్యూటర్ ఉన్నట్లయితే ఇది nice కాదు మాకు అనుమతి కార్యక్రమం ఫారెన్హీట్ సే, మార్చడంలో సెల్సియస్? బాగా, మేము ఆ కార్యక్రమం రాయడం. మొదటి cs50.h ఉన్నాయి ప్రారంభిద్దాం, మేము అనే ఫంక్షన్ ఉపయోగించే కాబట్టి Int పొందండి వంటి, తీసుకుంటున్న ఫ్లోట్, పొందండి ఒక యూజర్ నుండి సంఖ్య, కానీ ఈసారి ఫ్లోటింగ్ పాయింట్ సంఖ్య - ఒక ఒక దశాంశ బిందువు. యొక్క కూడా ప్రామాణిక io.h ఉన్నాయి లెట్ మేము ప్రాప్తి కాబట్టి ముద్రణ F వంటి విధులను. మరియు యొక్క ప్రధాన డిక్లేర్ తెలియజేయండి సాధారణ మార్గంలో. యొక్క తదుపరి వినియోగదారు లెట్ ఫారెన్హీట్ ఒక ఉష్ణోగ్రత. ఇప్పుడు లెట్స్ నిజానికి ఆ ఉష్ణోగ్రత పొందండి యూజర్ నుండి, మొదటి అనే వేరియబుల్ ప్రకటించారు రకం ఫ్లోట్ f. ఫ్లోట్ మళ్ళీ, వేరియబుల్ అనగా , ఒక ఫ్లోటింగ్ పాయింట్ విలువ నిల్వ ఒక దశాంశ బిందువు ఒక. యొక్క అది తిరిగి కేటాయించండి గెట్ ఫ్లోట్ విలువ. ఆపై యొక్క గణిత యొక్క బిట్ తెలియజేసేలా దానిపై, మొదటి మరొక ఫ్లోట్ ప్రకటించారు సి లో సెల్సియస్ మరియు స్టోర్ పిలుపునిచ్చారు సి కొన్ని సాధారణ అంకగణిత ఫలితంగా. 5.0 9.0 సార్లు F ​​మైనస్ 32.0 ద్వారా విభజించబడింది. ఇప్పుడు ఫలితంగా ప్రింట్ తెలియజేయండి ఈ గణన యొక్క. శాతం f - ఒక హోల్డర్ సూచిస్తుంది ఫ్లోటింగ్ పాయింట్ విలువ - ప్రింట్ కామా సి సెల్సియస్ ఉష్ణోగ్రత. యొక్క నా చివరి సేవ్ లెట్. సి రన్ F కార్యక్రమం కంపైల్ C. కు డాట్ స్లాష్ F తో మరియు యొక్క ఆ సాధారణ ప్రయత్నించండి ఉష్ణోగ్రతలు. ఫారెన్హీట్ 212 డిగ్రీల 100 డిగ్రీల ఉంది. ఫారెన్హీట్ 32 డిగ్రీల సెల్సియస్ 0 డిగ్రీల. ఇప్పుడు ఈ కార్యక్రమం కొద్దిగా శుద్ధి అనుమతిస్తుంది చాలా అనేక 0 యొక్క ప్రింటింగ్ ద్వారా బిట్ ఆ దశాంశ చేసిన తర్వాత. ఇది చేయుటకు, నేను వెళుతున్న తిరిగి లైన్ 11 వెళ్ళండి. మరియు కాకుండా కేవలం శాతం f పేర్కొనండి, నేను, సే, బదులుగా తెలుపుటకు వెళుతున్న నేను మాత్రమే 0.1 f, సమాచారం ముద్రణ F ఒక ఫ్లోటింగ్ పాయింట్ విలువ ప్రింట్ మీరు దశాంశ చేసిన తర్వాత ఒక విలువ. యొక్క నా ప్రోగ్రామ్ resave లెట్. అప్పుడు C. యు F తో మళ్ళీ కంపైల్ డాట్ స్లాష్ C. కు F మరియు తో తిరిగి యొక్క 212 సే, తిరిగి ప్రయత్నించడానికి వీలు, ఇది నాకు 100.0 ఇస్తుంది. ఇప్పుడు నేను చేసిన పేర్కొంది ఉపయోగకరమని చాలా ఉద్దేశపూర్వకంగా లైన్ 9 లో ఏదో. నేను 5 5.0, 9 ఉంది రాశాడు ఎలా గమనించండి 9.0, మరియు 32.0 కూడా 32 వంటి. బాగా, ఆ విలువలు మొదటి రెండు ఉన్నాయి చాలా ఉద్దేశపూర్వకంగా ఉండేం ఫ్లోటింగ్ పాయింట్ విలువలు, కేవలం ఎందుకంటే మిగిలిన స్థిరత్వానికి నా ప్రోగ్రామ్ యొక్క - ఇది స్పష్టంగా ఫ్లోటింగ్ ఉంటుంది పాయింట్ విలువలు - కానీ మీరు ఉంటే అది, సి అవుతుంది ఎందుకంటే మరో Int ద్వారా ఒక Int విభజించి, మీరు పొందడానికి వెళుతున్న ఫలితంగా సమాధానం కూడా ఒక Int, కూడా సాధనాలు ప్రతిదీ తీసివేసినట్లు కలిగి దశాంశ బిందువు తర్వాత. ఇతర మాటలలో, నేను ఈ 5.0 మార్చుకుంటే కు 5 లేదా ఈ 9 9.0 మరియు resave నా ప్రోగ్రామ్,, C యు F తో చేయుట ఆపై డాట్ స్లాష్ F తో తిరిగి అమలు 212 వంటి ఒక ఇన్పుట్ లో సి మరియు రకం, గమనించి నేను వెళుతున్న సమాధానం ఈ సమయంలో నిజానికి చాలా తప్పు కలుగుతుంది. 0.0 లో సరైన డిగ్రీ కాదు 212 ఫారెన్హీట్ సెల్సియస్. బాగా, ఏం జరుగుతోంది? Well, లైన్ 9 లో, 5 ఎందుకంటే ఇప్పుడు ఒక ఉంది పూర్ణాంక మరియు ఎందుకంటే 9 ఇప్పుడు ఒక ఉంది పూర్ణాంక, ఫలితంగా గణితశాస్త్ర అందువలన న 0,5555 ఉండాలి. కానీ ఫలితం, వ్యవహరిస్తుంటారు ఎందుకంటే సి యొక్క నియమాలు, ఒక Int ఉండాలి 0,5555, దూరంగా విసిరిన తీర్చుకుంటాడు కేవలం 0 మాకు వదిలి. కాబట్టి చివరికి, నేను గుణించడం ముగుస్తుంది చాలా అనుకోకుండా 0 సార్లు F ​​మైనస్ ఎవైనా ఇది 32.0, ఎప్పుడూ నన్ను 0 ఇవ్వాలని అన్నారు. కాబట్టి ఉపయోగించి, మనసులో ఏ సమయంలో వస్తున్నాను సమీపంలో ఫ్లోటింగ్ పాయింట్ విలువలు ints, మీరు వాటిని అవసరం లేదు మీరు ఆశించిన కాబట్టి సమాధానం. నేను చేయుచుండగా కాబట్టి, ఉపయోగించడానికి శ్రద్ధ వహించడానికి మొదటి సందర్భంలో, ఫ్లోటింగ్ పాయింట్ విలువలు అంతా ఏ ఇలాంటి సమస్యలు నివారించేందుకు.