ReadyReadTemp(); //读温度准备,初始化等
TL=ReadOneChar();//先读的是温度值低位
TH=ReadOneChar();//接着读的是温度值高位
TN=TH*16+TL/16; //实际温度值=(TH*256+TL)/16,即:TH*16+TL/16,这样得出的是温度的整数部分,小数部分被丢弃了
TD=(TL%16)*10/16;//计算温度的小数部分,将余数乘以10再除以16取整,这样得到的是温度小数部分的第一位数字(保留1位小数)
程序如上,是某人写的。TN整数部分和TD小数部分是怎样算出的,其原理是什么呀,看得一头雾水。望大虾指点迷津,不胜感谢! |