MFC 將接收的資料轉換為float型輸出

2021-07-29 22:43:54 字數 885 閱讀 9683

結果:四個位元組的資料轉換為了float型資料,可以輸出顯示

**:
cstring str;

char tempc[4] = ;

float tempf;

// memcpy(&tempf, tempc, 4);

// str.format(_t("%f"), tempf); 對應的浮點型是 44 01 28 06 對應的浮點型

unsigned int n;

memcpy(&n, tempc, 1);

n = n << 8;

memcpy(&n, &tempc[1], 1);

n = n << 8;

memcpy(&n, &tempc[2], 1);

n = n << 8;

memcpy(&n, &tempc[3], 1);

memcpy(&tempf, &n, 4);

str.format(_t("%f"), tempf);

setdlgitemtext(idc_edit1, str);

messagebox(str);

過程:用char型陣列,接收傳送的十六位進製資料,比如c1 48 00 00,那麼轉換為float型應為-12.5,使用強制轉換,即先定義乙個float型的變數,再將記憶體裡的資料copy進去。但是發現資料不太對,因為copy時char型陣列裡的高位元組資料(比如char[0])的被放在了float變數的低位元組,所以float存放的資料變為了00 00 48 c1;所以先把資料存入int型的變數,每存入一位元組左移八位,然後copy int型變數裡的資料到float型,然後輸出format(「%f」,定義的float變數)即可。

將網格資料轉換為柵格

雖然不能直接從 網格 模組建立柵格,但是可以從其他模組建立柵格,因此需要轉換網格資料。去做這個 在專案資源管理器中,選擇要轉換為柵格的網格。右鍵單擊並選擇轉換 網格到二維散點圖。在 將網格轉換為散點 對話方塊中,使用 僅轉換角節點 選項並為散點集指定名稱。將網格轉換為散點集後,還需要完成幾件事。然後...

將DataGrid中的資料轉換為Excel c

if gridx.tablestyles.count 0 objarr new object ivisable objarr list.toarray excelcell xst.get range excel.cells 1,1 excel.cells 1,ivisable excelcell.v...

將整型資料轉換為string型別

將整型資料轉換為string型別 在進行 資料處理的時候,遇到資料型別轉換的問題。因為string型別過載了 等操作符,處理資料起來比較方便,但是有些時候需要將其他型別的資料加到string型別中,這就出現了其他型別轉換為string型別的問題。要實現int 等型別轉換為string型別,首先要用系...