C 二進位制char轉換為float型別的資料

2021-08-17 04:35:01 字數 499 閱讀 5878

float f_real= 0.0f;

unsigned char block[4];

block[3]=pimgdata[j*width*4+i*4+3];

block[2]=pimgdata[j*width*4+i*4+2];

block[1]=pimgdata[j*width*4+i*4+1];

block[0]=pimgdata[j*width*4+i*4];

memcpy(&f_real, block, sizeof(float));

程式中,pimgdata是讀取的二進位制char型別的影象資料,這裡將其轉換為float型別的資料

先定義乙個型別的flaot資料,為四位;然後定義乙個char陣列與其對應

先將影象資料拷貝到陣列裡面,高位和低位對齊,四位為乙個資料。然後通過memcpy將陣列拷貝到float資料的空間中即可

因為計算機會自動將十進位制和二進位制,進行換算,因此不必細化考慮如何二進位制轉十進位制和十進位制轉二進位制的問題。

十進位制 轉換為 二進位制

聽說優酷前端面試有問進製數轉換的,甚至是負正整數轉換為二進位制,那就索性一次整個明白 正整數轉二進位制 負整數轉二進位制 小數轉二進位制 1 正整數轉成二進位制。口訣 除二取餘,倒序排列,高位補零。42 除以2得到的餘數 右邊 為010101,然後倒著排一下就是取到的二進位制了 如下圖 計算機內部表...

c 將十進位制轉換為二進位制 小數 二進位制的轉換

二進位制是在計算機中常用的一種進製數,其資料用0和1兩個數碼來表示資料。我們人類常用的是十進位制,那麼二進位制和十進位制之間是有乙個轉換方法的。二進位制轉換十進位制 乙個二進位制數轉換為十進位制數,是比較簡單的,其方法就是用每乙個位置上的數字乘以該位置的權重,然後相加得到。舉個例子,二進位制的101...

將負數轉換為二進位制

我們已經知道計算機中,所有資料最終都是使用二進位制數表達。我們也已經學會如何將乙個10進製數如何轉換為二進位制數。不過,我們仍然沒有學習乙個負數如何用二進位制表達。比如,假設有一 int 型別的數,值為5,那麼,我們知道它在計算機中表示為 00000000 00000000 00000000 000...