今天要說明的是,在C語言中,2個byte如果要轉十進制 如何做?

2個byte分別為high byte 和 low byte,可以組合成一個0-65535大小的十進制 ,

在C語言可以這樣寫:

uint8_t Highbyte; //char high byte
uint8_t Lowbyte;  // char low byte
uint32_t CountValue=0x00;
uint32_t RPMValue=0x00;

CountValue =
(Highbyte/128)*32768 +
(Highbyte%128/64)*16384 +
(Highbyte%128%64/32)*8192 +
(Highbyte%128%64%32/16)*4096+
(Highbyte%128%64%32%16/8)*2048 +
(Highbyte%128%64%32%16%8/4)*1024 +
(Highbyte%128%64%32%16%8%4/2)*512 +
(Highbyte%128%64%32%16%8%4%2/1)*256+
(Lowbyte/128)*128 + 
(Lowbyte%128/64)*64+ 
(Lowbyte%128%64/32)*32 + 
(Lowbyte%128%64%32/16)*16 + 
(Lowbyte%128%64%32%16/8)*8 + 
(Lowbyte%128%64%32%16%8/4)*4 + 
(Lowbyte%128%64%32%16%8%4/2)*2 + 
(Lowbyte%128%64%32%16%8%4%2/1)*1;

文章標籤

阿倫 發表在 痞客邦 留言(0) 人氣()