ステートメントのnumに割り当てられる値は何ですか?double num = 5/2;ステートメントのnumに割り当てられる値は何ですか?
いくつかのウェブサイトでは、2人が2.5人と言っています。助けてください。
ステートメントのnumに割り当てられる値は何ですか?double num = 5/2;ステートメントのnumに割り当てられる値は何ですか?
いくつかのウェブサイトでは、2人が2.5人と言っています。助けてください。
double num = 5/2;
は結果として2を与える。
double num = 5/2.0;
またはdouble num = 5.0/2.0;
またはdouble num = 5.0/2;
は、結果として2.5を与える。
あなた自身でコードを試してみることをお勧めします。あなただけでは十分に思考/仕事ができないときに質問してください。あなたがもっと学ぶこの方法。
num
は、データ型がdouble
です。したがって、浮動小数点値が保存されます。
ただし、割り当てられる内容によっても異なります。
現在、整数値を割り当てています。 5/2 = 2
。
したがって、num
には2
が割り当てられ、内部では2.0
として保存されます。
numに2.5を設定する場合は、割り当て前に浮動小数点値に変換します。
num = 5.0/2
| num = 5.0/2.0
| num = 5/2.0
は、多くの場合num = 2.5
double num = 5/2;
、各発現をもたらすウィル、それは大きな表現の部分式だ場合でも、独自に評価されます。結果の型と値は、表示されるコンテキストではなく、(サブ)式自体によって決定されます。
式5/2
の除算演算子は、タイプがint
の2つのオペランドを持ち、タイプint
の結果が得られます。 C++はこれらの言語の1つではなく、Cもありません。
5/2
の結果は2
です(整数除算が切り捨てられるため)。整数の除算で整数以外の結果が得られる言語があります。その値はnum
の型に変換され、初期化に使用されるので、num
の初期値は2.0
です。 (2
と2.0
が明瞭であり、それらが同じ数学的な価値を持っていますが、異なる種類、すなわちint
とdouble
暗黙的な変換が必要な理由です。。)
あなたが値2.5
を持ってnum
を望んでいた場合には、いくつかの方法がありますあなたがそれを行うことができます:
double num = (double)5/(double)2;
double num = (double)5/2;
double num = 5.0/2.0;
double num = 2.5;
2番目の例では、左と右のオペランドは異なるタイプがあるので、彼らはいくつかの適度に複雑なルールを介して共通の型に変換しています。この場合、オペランドint
はdouble
に変換されます。
浮動小数点式(ではなく5.0
)では、整数定数よりも浮動小数点定数を使用する方が一般的です。 いくつかのケースでは、整数定数は必要に応じて浮動小数点に変換されますが、ここで見てきたように、定数表現よりも個々のリテラルに多く適用されます。
うわー。よく説明されています。 –
'double num = 5/2;'と 'cout << num'を試しましたか? – Rafalon
あなたはそれが2.5であると言うウェブサイトのURLを投稿できますか? –
試したときの価値は何でしたか?あなたは、そのコードをエディタに入力して試してみるだけで、ブラウザに入力して質問を作成するよりも、時間と労力がかかりませんでした。答え。 –