最简单的加减乘除问题。大家快救救我啊 我实在受不了了 我初吻都能送给你们 !
题目有点夸张,请勿bt! 下面说事
BYTE a,b;
a=0x01;
b=0x05;
BYTE tmp= a-b;
BYTE res1 = 0.75* tmp + b ;
BYTE res2 = 0.75* (a -b) + b ;
上面一段代码。
res1的运行结果是0xc2, res2的结果是0x2。
明明逻辑上是一样的嘛!(就是把中间拆了一下)
我晕!原因我知道,是因为tmp=0x01-0x05=0xfc, 而不是- 0x04!
这样经过乘以0.75,所以发生变化
那为什么res2的结果是正确的?