【发布时间】:2020-06-20 21:27:56
【问题描述】:
刚从 MATLAB 背景开始使用 C++ 并感到困惑。
float farenheit, celcius;
cin >> farenheit;
celcius = (farenheit - 32) * (5 / 9);
cout << "Temperature (c): " << celcius;
为什么乘以 5/9 不能按预期工作,但这样做呢?:
float farenheit, celcius;
cin >> farenheit;
celcius = ((farenheit - 32) * 5) / 9);
cout << "Temperature (c): " << celcius;
谢谢!
【问题讨论】:
-
5/9自己产生什么?提示:它们都是整数。 -
因为 C++ 中的
int/int返回一个int值,要解决这个问题,您只需将.0附加到两个数字之一(5 / 9.0); -
与 matlab 的一些大区别:整数运算,从 0 开始的数组。
标签: c++ floating-point multiplication fractions