1 00:00:00,000 --> 00:00:02,360 >> DAVID J. مالان: همانطور که احتمالا می دانید، درجه حرارت با استفاده از اندازه گیری 2 00:00:02,360 --> 00:00:04,360 مقیاس های مختلف در مختلف نقاط جهان. 3 00:00:04,360 --> 00:00:09,370 به عنوان مثال، 212 درجه فارنهایت است 100 درجه سانتیگراد و 32 درجه 4 00:00:09,370 --> 00:00:11,810 فارنهایت 0 درجه سانتیگراد است. 5 00:00:11,810 --> 00:00:14,230 آیا آن را نمی شود خوب اگر ما یک کامپیوتر به حال برنامه ای است که به ما اجازه 6 00:00:14,230 --> 00:00:16,950 تبدیل مثلا از فارنهایت به سانتیگراد؟ 7 00:00:16,950 --> 00:00:18,510 >> خب، ما می تواند که برنامه ارسال. 8 00:00:18,510 --> 00:00:24,350 بیایید اول با شامل cs50.h شروع، به طوری که ما می توانیم یک تابع به نام استفاده از 9 00:00:24,350 --> 00:00:28,610 دریافت شناور، که، برای مثال، int دریافت کنید، می شود تعداد از کاربر، اما این بار 10 00:00:28,610 --> 00:00:31,440 عدد با ممیز شناور - یک با نقطه اعشار. 11 00:00:31,440 --> 00:00:34,840 >> اجازه دهید همچنین شامل io.h استاندارد به طوری که ما به اینترنت دسترسی دارند 12 00:00:34,840 --> 00:00:36,230 توابع مانند چاپ F. 13 00:00:36,230 --> 00:00:40,000 و اجازه دهید همچنین اصلی اعلام در روش معمول. 14 00:00:40,000 --> 00:00:42,675 >> بیایید بعدی به کاربر برای دما در درجه فارنهایت. 15 00:00:42,675 --> 00:00:46,050 16 00:00:46,050 --> 00:00:49,220 اجازه دهید در حال حاضر در واقع دریافت کنید که درجه حرارت از کاربر، برای اولین بار توسط 17 00:00:49,220 --> 00:00:52,910 اعلام یک متغیر به نام F از نوع شناور. 18 00:00:52,910 --> 00:00:56,750 یک شناور، دوباره، به معنی یک متغیر است که ذخیره یک مقدار ممیز شناور، 19 00:00:56,750 --> 00:00:58,200 یکی با نقطه اعشار. 20 00:00:58,200 --> 00:01:01,780 >> اجازه دهید آن را بازگشت اختصاص دهید ارزش شناور را دریافت کنید. 21 00:01:01,780 --> 00:01:06,080 و پس از آن اجازه دهید کمی از حساب بر روی آن، برای اولین بار اعلام شناور دیگر 22 00:01:06,080 --> 00:01:11,690 C خواستار سانتیگراد و ذخیره در C نتیجه برخی از حساب مشترک. 23 00:01:11,690 --> 00:01:19,060 5.0 تقسیم بر 9.0 بار F منهای 32.0. 24 00:01:19,060 --> 00:01:23,440 >> بیایید به نتیجه چاپ از این محاسبات. 25 00:01:23,440 --> 00:01:24,730 درصد ج - 26 00:01:24,730 --> 00:01:27,890 مفهوم مکان نگه دار برای ممیز شناور - 27 00:01:27,890 --> 00:01:31,680 کاما C به نسخه قابل چاپ کردن درجه حرارت در سانتیگراد است. 28 00:01:31,680 --> 00:01:33,000 اجازه دهید آخر من را نجات دهد. 29 00:01:33,000 --> 00:01:38,220 کامپایل با F به C. اجرای برنامه با نقطه F بریده بریده به C. 30 00:01:38,220 --> 00:01:39,940 >> و اجازه دهید آن مشترک را امتحان کنید درجه حرارت. 31 00:01:39,940 --> 00:01:45,820 212 درجه در درجه فارنهایت 100 درجه سانتیگراد است. 32 00:01:45,820 --> 00:01:50,090 32 درجه در درجه فارنهایت است 0 درجه سانتیگراد است. 33 00:01:50,090 --> 00:01:54,240 >> در حال حاضر اجازه می دهد که اصلاح این برنامه کمی کمی با چاپ کاملا به عنوان بسیاری از 0 نیست 34 00:01:54,240 --> 00:01:55,820 پس از آن محل دهدهی. 35 00:01:55,820 --> 00:01:57,940 برای این کار، من قصد دارم بازگشت به خط 11. 36 00:01:57,940 --> 00:02:03,430 و نه فقط تعیین درصد F، من قصد دارم به جای مشخص، می گویند، 37 00:02:03,430 --> 00:02:08,800 0.1 F، اطلاع رسانی چاپ F که تنها I می خواهید برای چاپ یک مقدار ممیز شناور 38 00:02:08,800 --> 00:02:11,750 به یک ارزش بعد از محل دهدهی. 39 00:02:11,750 --> 00:02:13,630 >> اجازه دهید برنامه من resave. 40 00:02:13,630 --> 00:02:19,680 کامپایل مجدد آن را با آرایش F به C. سپس دوباره آن را با نقطه F بریده بریده به C. و 41 00:02:19,680 --> 00:02:24,910 اجازه دهید با، مثلا، 212 سعی مجدد، که به من می دهد 100.0. 42 00:02:24,910 --> 00:02:28,360 >> در حال حاضر آن شایان ذکر است که من چیزی بسیار به عمد در خط 9. 43 00:02:28,360 --> 00:02:35,830 دقت کنید که چگونه من نوشت 5 است 5.0 9 به عنوان 9.0 و حتی 32 به 32.0. 44 00:02:35,830 --> 00:02:39,000 خوب، این دو برای اولین بار از این ارزش ها بود بسیار به عمد انتخاب می شود 45 00:02:39,000 --> 00:02:42,200 مقادیر ممیز شناور، نه فقط به دلیل سازگاری با بقیه 46 00:02:42,200 --> 00:02:42,940 برنامه من - 47 00:02:42,940 --> 00:02:45,110 که شناور به وضوح شامل ارزش نقطه - 48 00:02:45,110 --> 00:02:50,210 اما به دلیل آن معلوم است که C، اگر شما اعضای هیات های هوشمند یکی دیگر از تقسیم، 49 00:02:50,210 --> 00:02:54,350 در نتیجه پاسخ شما برای به دست آوردن خود را از نوع int، حتی اگر آن به معنی 50 00:02:54,350 --> 00:02:57,450 با به دور انداختن همه چیز بعد از نقطه اعشار. 51 00:02:57,450 --> 00:03:04,990 >> به عبارت دیگر، اگر عوض کنم این 5.0 به 5 یا این 9.0-9 و سپس resave 52 00:03:04,990 --> 00:03:10,550 برنامه های من، آنرا کامپایل مجدد با آرایش F به C، و سپس دوباره آن را اجرا کنید با اسلش نقطه F 53 00:03:10,550 --> 00:03:15,310 به C و در نوع ورودی مانند 212، توجه کنید که این جواب من قصد دارم 54 00:03:15,310 --> 00:03:17,860 دریافت این زمان است که در واقع کاملا اشتباه است. 55 00:03:17,860 --> 00:03:23,570 0.0 است که درجه درست در نمی سانتیگراد به 212 درجه فارنهایت. 56 00:03:23,570 --> 00:03:24,500 >> خب، چه خبر است؟ 57 00:03:24,500 --> 00:03:29,410 خوب، در خط 9، به دلیل 5 در حال حاضر عدد صحیح و چون 9 در حال حاضر 58 00:03:29,410 --> 00:03:34,810 عدد صحیح، نتیجه ریاضی باید 0.5555 است و غیره. 59 00:03:34,810 --> 00:03:39,120 اما از آنجا که در نتیجه، با توجه به قوانین C است، باید از نوع int، که 60 00:03:39,120 --> 00:03:44,020 0.5555 می شود دور انداخته، ترک ما تنها با 0. 61 00:03:44,020 --> 00:03:48,600 >> بنابراین در پایان، من در نهایت ضرب کاملا به طور تصادفی در 0 بار F منفی 62 00:03:48,600 --> 00:03:52,830 32.0، که بدون توجه به آنچه همیشه به من 0 دهد. 63 00:03:52,830 --> 00:03:56,930 پس وقت را در ذهن با استفاده از نگه داشتن، هر زمان مقادیر ممیز شناور در نزدیکی 64 00:03:56,930 --> 00:03:59,860 نوع داده int، شما ممکن است لزوما دریافت پاسخ آن، بنابراین شما انتظار می رود. 65 00:03:59,860 --> 00:04:04,220 و به این ترتیب مراقبت را برای استفاده، به عنوان من در انجام ارزش های مورد اول، نقطه شناور 66 00:04:04,220 --> 00:04:06,530 در سراسر برای جلوگیری از هر گونه مسائل. 67 00:04:06,530 --> 00:04:08,267