有一個4位元組的16進制資料陣列,{0x1B, 0xFE, 0x7F, 0x3F},用python代碼
databuf=[0x1B,0xFE,0x7F,0x3F]
Quat=[0,0,0,0]
buffer=struct.pack('4B', *databuf)
Quat[0] = struct.unpack('<f', buffer)[0]
轉換出來結果是[0.9999710917472839, 0, 0, 0],現在我想用C++語言轉換為十進制
uj5u.com熱心網友回復:
資料的表示方式是不一樣的,用不同的資料型別去解釋同一個二級制碼,得到的結果不同uj5u.com熱心網友回復:
#include<stdio.h>int main()
{
int i,a[4];//宣告a陣列,
for(i=0;i<4;i++)
{scanf("%x",&a[i]);}//for陳述句輸入
for(i=0;i<4;i++)
{printf("%d ",a[i]);}//for陳述句輸入
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236276.html
標籤:C++ 語言
上一篇:大佬們,一個C++問題求解
