Menu
CoddyTech

浮動小数点数 - 倍精度

CoddyのCジャーニー「基礎」セクションの一部。レッスン 7/63。

floatとdoubleは、Cで小数を格納するために使われるデータ型です。

float型の変数を宣言します。

float price = 19.99f;

「f」接尾辞に注目してください。これは、Cにこの値がfloat型であることを伝えます。

double型の変数を宣言します。

double pi = 3.14159265359;

floatとdoubleの主な違い:

  1. 精度:doubleはfloatより精度が高い
    • float:約7桁の十進数
    • double:約15桁の十進数
  1. サイズ:
    • Float: 4バイト
    • Double: 8バイト
  1. 範囲:
    • Float: 1.2E-38 to 3.4E+38
    • Double: 2.3E-308 to 1.7E+308

浮動小数点数の値を出力しましょう:

float temperature = 98.6f;
printf("Temperature is %f degrees\n", temperature);

小数点以下の桁数を指定して出力する:

printf("Temperature is %.1f degrees\n", temperature);

次のように表示されます:「温度は98.6度です」

challenge icon

チャレンジ

簡単

次のプログラムを書きましょう。

  1. celsiusという名前のfloat型変数を宣言します
  2. fahrenheitという名前のdouble型変数を宣言します
  3. celsiusに値25.0を代入します
  4. 次の式を使って、摂氏を華氏に変換します: fahrenheit = (celsius * 9.0/5.0) + 32.0
  5. 結果を次のように出力します
    25.0 degrees Celsius is equal to 77.0 degrees Fahrenheit

出力では、小数点以下を必ず1桁だけ表示してください。CelsiusとFahrenheitの綴りは、完全に一致させる必要があります。

1つのprintfで両方の変数を出力するには、それぞれの数値のプレースホルダーとして%.1fを使用します。celsiusとfahrenheitは、実際に使う変数名に置き換えてください。

printf("%.1f degrees Celsius is equal to %.1f degrees Fahrenheit\n", celsius, fahrenheit);

ここでは、最初の%.1fがcelsiusの値に置き換えられ、2番目の%.1fがfahrenheitの値に置き換えられます。最後の\nは、カーソルを次の行に移動します。

自分で試してみよう

#include <stdio.h>

int main() {
    // celsius と fahrenheit を宣言し、ここで変換する
    
    
    printf("%.1f degrees Celsius is equal to %.1f degrees Fahrenheit\n", celsius, fahrenheit);
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Cオンラインコンパイラ