何故が浮動小数点で出ない

[戻る]
K.O. 2002/09/23(月) 13:16:47
int    A;
int    B;
float  C;

C = A/B;
としても、
A = 2,B = 5
の場合、
C = 0.4
にならないで、
C = 0.0000

C =(A*1000)/B;
C = C/1000;
で初めて、
C = 0.4
になるが。

どうしてでしょうか?

merlo 2002/09/23(月) 15:01:51
C = A/B;
としても、
A = 2,B = 5
の場合、
C = 0.4
にならないで、
C = 0.0000

といのは,
A/Bがint/int なので,計算結果もintになり
0.4は,小数点切り捨てされるので,0になり,
それが,floatに入るので,一応0.0000になるっていう感じですね.

C=(float)A/B
とかで,いくんじゃないですか?
右辺に一つでもfloatとかあれば,
いいと思うよ

古いスレッドには追加発言できません。