本帖最后由 tianxiongweitxw 于 2020-8-9 15:58 编辑
请教一下前辈:以下算法
a1=(IapReadByte(Oclock_Hour)>>4)*10*60;
b1=(IapReadByte(Oclock_Hour)&0x0f)*60 ;
c1=(IapReadByte(Oclock_Minu)>>4)*10 ;
d1=IapReadByte(Oclock_Minu)&0x0f;
hour_adjust=HEXtoBCDData((a1+b1+c1+d1-5)/60);
这样写,hour-adjust结果正确。改成下面就不正确(把a b c d同时加在一起):
hour_adjust=HEXtoBCDData((((IapReadByte(Oclock_Hour)>>4)*10*60+ (IapReadByte(Oclock_Hour)&0x0f)*60 +(IapReadByte(Oclock_Minu)>>4)*10+IapReadByte(Oclock_Minu)&0x0f )-5)/60);
难道有溢出,才这么几个算式,没有道理?
|