2020-02-01 16:34发布
yao1 发表于 2011-10-27 09:24 回复【4楼】Ilove51andAVR ----------------------------------------------------------------------- ...
yao1 发表于 2011-10-27 19:45 //初学者先理解算法了 再用移位法 理解是关键 //移位原理: //用10进制来理解,如果把123456这个数右移4位 ...
最多设置5个标签!
void gettemperature()
{
uchar temp1,temp2,temp,tflag ;
reset();
writebyte(0xcc);
writebyte(0x44);
reset();
writebyte(0xcc);
writebyte(0xbe);
temp1=readchar();
temp2=readchar();
temp=(temp2<<8)|temp1;
if(temp<0x0fff)
tflag=1;
else
{
tflag=0;
temp=~temp+1;//负温度时,使其取反加一
}
d_temp=temp*(0.625);//正温度
tempshi=d_temp/100;
tempge=d_temp%100/10;
tempxiaoshu=d_temp%10;
}
xiexie !
“Temp = TempDat >> 4; // (TempDat * 0.0625 ) 浮点数运算很慢,效率不高,改成移位”
这一句中右移四位小数位就没有了吧,后面一句乘以10还有用吗?
一周热门 更多>