//四字節轉浮點數注意字節序
1 float ByteBufToFloat(BYTE *buf,int mode) 2 { 3 ASSERT(buf != NULL); 4 5 if (buf == NULL) 6 { 7 return 0; 8 } 9 10 BYTE *pBuf=buf; 11 BYTE buff[4]; 12 switch(mode) 13 { 14 default: 15 case 0: 16 buff[0]=pBuf[3]; 17 buff[1]=pBuf[2]; 18 buff[2]=pBuf[1]; 19 buff[3]=pBuf[0]; 20 break; 21 case 1: 22 buff[0]=pBuf[2]; 23 buff[1]=pBuf[3]; 24 buff[2]=pBuf[0]; 25 buff[3]=pBuf[1]; 26 break; 27 case 2: 28 buff[0]=pBuf[0]; 29 buff[1]=pBuf[1]; 30 buff[2]=pBuf[2]; 31 buff[3]=pBuf[3]; 32 break; 33 case 3: 34 buff[0]=pBuf[1]; 35 buff[1]=pBuf[0]; 36 buff[2]=pBuf[3]; 37 buff[3]=pBuf[2]; 38 break; 39 } 40 float Data; 41 memcpy(&Data,buff,4); 42 return Data; 43 }