使用整数运算将摄氏度转换为华氏度(对于asm实现)

Pro*_*432 0 x86 assembly integer

我想知道如何为这个问题做数学计算.将摄氏温度转换为华氏温度.我可以解决这个问题的大部分,但我不理解9/5函数中的问题.我知道剩余的4将使用1的商,我该如何处理数字以获得正确的转换?

我已经在我的计算器上做了几个关于如何开始9/5工作的样本计算,但我让它工作的唯一方法是使用另一个可以给我一个余数的分数.

这是等式: F = (9/5) * Celsius + 32

rkh*_*khb 5

诀窍是改变术语:

F = (9/5) * Celsius + 32
  = ( (9 * Celsius) / 5 ) + 32
  = ( (9 * Celsius) / 5 ) + ( (32 * 5) / 5)
  = ( (9 * Celsius) / 5 ) + ( 160 / 5)
  = ( (9 * Celsius) + 160 ) / 5
Run Code Online (Sandbox Code Playgroud)

现在,你可以在最后做分工:

  1. 计算9*摄氏度.
  2. 加160.
  3. 除以5.
  4. 使用余数来舍入结果.