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 GETのint型のように、取得しフロートを取得 ユーザーからの数が、この時間A 10 00:00:28,610 --> 00:00:31,440 浮動小数点数 - 1 小数点付き。 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 という変数を宣言 float型のF。 18 00:00:52,910 --> 00:00:56,750 その変数を意味し、再びフロート、、 、浮動小数点値を記憶する 19 00:00:56,750 --> 00:00:58,200 小数点付き1。 20 00:00:58,200 --> 00:01:01,780 >> のはそれをリターンを割り当ててみましょう GET floatの値。 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 %のF - 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 C.実行するには、Fのプログラムを使用してコンパイル ドットでCにFを大幅に削減する 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 浮動小数点値を印刷したい 38 00:02:08,800 --> 00:02:11,750 小数点以下の1の値に。 39 00:02:11,750 --> 00:02:13,630 >> それでは私のプログラムを再保存してみましょう。 40 00:02:13,630 --> 00:02:19,680 その後CにメイクFで再コンパイル Cにドットスラッシュ、Fでそれを再実行し、 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 さて、これらの値の最初の2だった 非常に意図的になるように選択 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、あなたの場合ことがわかったので、 別のintで、intを割り、 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および再保存 52 00:03:04,990 --> 00:03:10,550 私のプログラムはCに加えたFで再コンパイルし、 そして、ドット、スラッシュ、Fでそれを再実行 53 00:03:10,550 --> 00:03:15,310 212のように入力中のCと入力するには、 答えは私がするつもりだことに気付く 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