小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

vc 浮點數(shù)轉(zhuǎn)換為內(nèi)存十六進制字符串

 浮 生 2009-07-16
vc 浮點數(shù)轉(zhuǎn)換為內(nèi)存十六進制字符串
2009-06-09 16:35

        在一些規(guī)約解析中,我們往往需要把浮點數(shù)轉(zhuǎn)換成16進制的字符串 或者把16進制的字符串轉(zhuǎn)換為浮點數(shù)來驗證傳輸?shù)恼_性。下面的函數(shù)實現(xiàn)了浮點數(shù)到16進制字符串的轉(zhuǎn)換,主要是使用了內(nèi)存拷貝的方法。另外需要注意的是內(nèi)存中的數(shù)據(jù)一般是底字節(jié)在前。

       關(guān)于16進制字符串(可以直接從內(nèi)存查看)轉(zhuǎn)換到浮點數(shù),是下面過程的逆過程,這里就不在實現(xiàn)。

/*****************************************************************************
author/data:

Description: 浮點數(shù)轉(zhuǎn)換為16進制字符串.
param:
f :        要轉(zhuǎn)換的浮點數(shù)
    str:        16進制的字符串,符合格式: "C1 48 00 00 "
byteOrder: 0表示低字節(jié)在前,本函數(shù)只處理低字節(jié)在前的情況

*****************************************************************************/ 
void Float_To_HexStr(float f, CString& str,int byteOrder)
{
CByteArray byteArray;
byteArray.SetSize(4);
memcpy(&byteArray[0],&f,4);
str = CByteArrayToCString(byteArray);
str.TrimRight(" ");
}

輔助函數(shù):

/*****************************************************************************
author/data:

Description: 把字節(jié)數(shù)組轉(zhuǎn)換為16進制字符串.
param:
字節(jié)數(shù)組 :   the byte array will convert to str
return value:
    str:     Hex str.
*****************************************************************************/ 
CString CByteArrayToCString(CByteArray& byteArray)
{
int len = byteArray.GetSize();
CString strTmp,str;
str = "";
for(int i=0 ; i<len ; i++)
{
   strTmp.Format("%002X ",byteArray[i]);
   str += strTmp;
}
return str; 
}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多