日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

十六进制转float和“float转十六进制”经典代码

發布時間:2024/4/24 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十六进制转float和“float转十六进制”经典代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <stdio.h>

float Hex_To_Decimal(unsigned char *Byte,int num)//十六進制到浮點數
{
// ??? ?char cByte[4];//方法一
//???? for (int i=0;i<num;i++)
//???? {
// ?? ?cByte[i] = Byte[i];
//???? }
//???? ?
// ?? ?float pfValue=*(float*)&cByte;
//return? pfValue;
?? ?
?? ??? ?return *((float*)Byte);//方法二



}

long FloatTohex(float HEX)//浮點數到十六進制轉換1
{
?? ?return *( long *)&HEX;
}




void FloatToByte(float floatNum,unsigned char* byteArry)浮點數到十六進制轉換2
{
??? char* pchar=(char*)&floatNum;
??? for(int i=0;i<sizeof(float);i++)
??? {
?? ??? ?*byteArry=*pchar;
?? ??? ?pchar++;
?? ??? ?byteArry++;
?? ?
??? }
}


void main()
{

? ??? ?unsigned char floatToHex[4];
??? unsigned??? char hexbyte[4]={0xcd,0xCC,0xCC,0x3D};//傳輸數據為3d cc cc cd
?? ?float Hdecimal=0.0;
?? ?float flh=0.4;
//???? int num=sizeof(hexbyte);
// ?? ?printf("num= %d\n",num);

??? Hdecimal=Hex_To_Decimal(hexbyte,sizeof(hexbyte));//十六進制轉換為浮點數
?? ?printf("\n 浮點數為:\n %f\n",Hdecimal);
?? ?
?? ?long hX=FloatTohex(Hdecimal);//浮點數轉換為十六進制一

?? ?printf("\n正序十六進制值:\n %f=%X \n",Hdecimal,hX);//正序顯示

?? ?FloatToByte(Hdecimal,floatToHex);//浮點數轉為十六進制二
?? ?
??? printf("\n倒序十六進制:\n%f=%x %x %x %x\n",Hdecimal,floatToHex[0],floatToHex[1],floatToHex[2],floatToHex[3] );//倒序顯示
?? ?
?? ?FloatToByte(flh,floatToHex);//浮點數轉為十六進制二

??? printf("\n倒序十六進制:\n%f=%x %x %x %x\n",flh,floatToHex[0],floatToHex[1],floatToHex[2],floatToHex[3] );//低位在前

?? ?FloatToByte(flh,floatToHex);//浮點數轉為十六進制二
?? ?
??? printf("\n正序十六進制:\n%f=%x %x %x %x\n",flh,floatToHex[3],floatToHex[2],floatToHex[1],floatToHex[0] );//高位在前
?? ??
?? ??
}

總結

以上是生活随笔為你收集整理的十六进制转float和“float转十六进制”经典代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。