>> DAVID J.マラン：あなたはおそらく知っているように、 温度を使用して測定する
異なるにおいて異なるスケール 世界の一部。
例えば、212度華氏です 摂氏100度と32度
華氏は0℃である。
我々はコンピュータを持っていた場合、それは素晴らしいことではないだろう に私たちを許可されたプログラム
華氏、言う、に変換 摂氏？
>> さて、私たちは、そのプログラムを書くことができます。
まずはcs50.hを含んから始めましょう、 私たちは、呼び出された関数を使用できるように、
GETのint型のように、取得しフロートを取得 ユーザーからの数が、この時間A
浮動小数点数 - 1 小数点付き。
>> それでは、標準IO.Hが含まみよう 我々は、へのアクセス権を持つように
印刷Fのような機能。
との、また主を宣言しましょう 通常の方法で。
>> 次のためにユーザーにプロンプ​​トを表示してみましょう 華氏温度。
今、実際にその温度を取得してみましょう 利用者からの、最初のバイ
という変数を宣言 float型のF。
その変数を意味し、再びフロート、、 、浮動小数点値を記憶する
小数点付き1。
>> のはそれをリターンを割り当ててみましょう GET floatの値。
、その後の算術を少しやらせる その上で、最初に別のフロートを宣言
C言語で摂氏とストアのというC いくつかの一般的な算術演算の結果。
5.0は9.0倍、Fマイナス32.0で割った。
>> それでは、結果を印刷してみましょう この計算の。
％のF -
のプレースホルダを意味する 浮動小数点値 -
プリントアウトするために、コンマのC 摂氏温度。
のが私の最終的な内容を保存してみましょう。
C.実行するには、Fのプログラムを使用してコンパイル ドットでCにFを大幅に削減する
>> との、共通のものを試してみましょう 気温。
華氏212度 100℃である。
華氏で32度です 摂氏0度。
>> 今、このプログラムを少し改良することができます それほど多くの0年代を印刷しないことによりビット
その小数点以下の。
これを行うには、私はするつもりだ バックライン11に戻る。
とだけではなくパーセントFを指定し、 私は、代わりに言って、指定するつもりだ
私は0.1 F、知らせる印刷F 浮動小数点値を印刷したい
小数点以下の1の値に。
>> それでは私のプログラムを再保存してみましょう。
その後CにメイクFで再コンパイル Cにドットスラッシュ、Fでそれを再実行し、
、212、言う、ので再試行しましょう その私に100.0を与えます。
>> 今では私がしたことは注目に値します 9行目では非常に意図的なもの。
私は5が5.0、9で書いたことに注意してください 9.0として、さらには32 32.0など。
さて、これらの値の最初の2だった 非常に意図的になるように選択
浮動小数点値、ではないという理由だけで 残りの部分との整合性
私のプログラムの -
これを明確に浮動含み 小数点値 -
それは、C、あなたの場合ことがわかったので、 別のintで、intを割り、
あなたが取得しようとしている結果の答えは 自体INT、たとえその手段
すべてのものを捨てた 小数点以下。
>> 言い換えれば、私は、この5.0に変更した場合 5または、この9.0から9および再保存
私のプログラムはCに加えたFで再コンパイルし、 そして、ドット、スラッシュ、Fでそれを再実行
212のように入力中のCと入力するには、 答えは私がするつもりだことに気付く
この時間を取得、実際には非常に間違っている。
0.0は、正しい学位ではありません 212華氏として摂氏。
>> さて、何が起こっているの？
さて、9行目では、5は今なので、 整数および9は今理由
整数、結果は数学的に というように0.5555であるべきで。
しかし、その結果ので、による Cのルールは、int型でなければならないこと
0.5555は、捨てれます ちょうど0で私たちを残して。
>> だから最後に、私は、乗算してしまう 全く偶然に0回Fマイナス
どんなはない32.0、 いつも私に0を与えるつもり。
だから使用して、心の中の任意の時間を保つか 近傍の浮動小数点値
int型は、必ずしもしない場合があります あなたが期待するような答えを得る。
私が行ったようにので、使用するように注意してください 最初のケースで、浮動小数点値
全体でこのような問題を回避する。