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小數部分是怎樣算出的,其原理是什么呀,看得一頭霧水。望大蝦指點迷津,不勝感謝! |