使用整数运算将摄氏度转换为华氏度(对于 asm 实现)
Converting Celsius to Fahrenheit with integer arithmetic (for an asm implementation)
我想知道如何对这个问题进行数学计算。将摄氏温度转换为华氏温度。我可以解决这个问题的大部分,但我不明白函数中的 9/5
。我知道将有 4 的余数和 1 的商我如何处理这些数字以获得正确的转换?
我已经在我的计算器上做了几个关于如何让 9/5
工作的示例计算,但我让它工作的唯一方法是使用另一个分数,它会给我余数.
公式如下:F = (9/5) * Celsius + 32
诀窍是转换术语:
F = (9/5) * Celsius + 32
= ( (9 * Celsius) / 5 ) + 32
= ( (9 * Celsius) / 5 ) + ( (32 * 5) / 5)
= ( (9 * Celsius) / 5 ) + ( 160 / 5)
= ( (9 * Celsius) + 160 ) / 5
现在,你可以在最后做除法了:
- 计算 9 * 摄氏度。
- 加160。
- 除以 5。
- 用余数四舍五入。
我想知道如何对这个问题进行数学计算。将摄氏温度转换为华氏温度。我可以解决这个问题的大部分,但我不明白函数中的 9/5
。我知道将有 4 的余数和 1 的商我如何处理这些数字以获得正确的转换?
我已经在我的计算器上做了几个关于如何让 9/5
工作的示例计算,但我让它工作的唯一方法是使用另一个分数,它会给我余数.
公式如下:F = (9/5) * Celsius + 32
诀窍是转换术语:
F = (9/5) * Celsius + 32
= ( (9 * Celsius) / 5 ) + 32
= ( (9 * Celsius) / 5 ) + ( (32 * 5) / 5)
= ( (9 * Celsius) / 5 ) + ( 160 / 5)
= ( (9 * Celsius) + 160 ) / 5
现在,你可以在最后做除法了:
- 计算 9 * 摄氏度。
- 加160。
- 除以 5。
- 用余数四舍五入。