如何在 C 中显示浮点除法的实际结果?
How to show actual result for floating-point division in C?
我正在学习 C 编程语言,在 Xcode 13.x 中,当我写这篇文章时:
float a = 3 / 2;
float b = 1 / 3;
printf("3 divided by 2 as a float is %f, 1 divided by 3 as a float is %f\n", a, b);
控制台喊出这个:
3 divided by 2 as a float is 1.000000, 1 divided by 3 as a float is 0.000000
我希望它显示 1.500000
和 0.333333
,但为什么不显示?
我确信解决方案显而易见且简单,但基本 googling/searching 没有帮助。
我试着 #include float.h
认为它会有所帮助,但没有运气。
我盲目错过了什么?
谢谢
您显然试图将除法的结果存储到 float
中,但浮点数也包括整数。
您实际上是在执行整数除法,因为在这两种情况下,您的两项都是整数(没有小数部分)。
除法四舍五入(结果没有小数部分),并分配给您的变量。
如何纠正?
尝试将小数部分至少添加到两个数字之一。例如:
float a = 3.0/2;
这应该可以做到。
我正在学习 C 编程语言,在 Xcode 13.x 中,当我写这篇文章时:
float a = 3 / 2;
float b = 1 / 3;
printf("3 divided by 2 as a float is %f, 1 divided by 3 as a float is %f\n", a, b);
控制台喊出这个:
3 divided by 2 as a float is 1.000000, 1 divided by 3 as a float is 0.000000
我希望它显示 1.500000
和 0.333333
,但为什么不显示?
我确信解决方案显而易见且简单,但基本 googling/searching 没有帮助。
我试着 #include float.h
认为它会有所帮助,但没有运气。
我盲目错过了什么?
谢谢
您显然试图将除法的结果存储到 float
中,但浮点数也包括整数。
您实际上是在执行整数除法,因为在这两种情况下,您的两项都是整数(没有小数部分)。
除法四舍五入(结果没有小数部分),并分配给您的变量。
如何纠正? 尝试将小数部分至少添加到两个数字之一。例如:
float a = 3.0/2;
这应该可以做到。