常用資料轉換,8位轉16位 32位函式,複製就能用

2021-09-06 23:07:20 字數 1618 閱讀 2237

下面包含8 轉 32,32轉8,8轉16,16轉8,16轉32,32轉16等微控制器內常用的資料型別轉換,直接複製就可使用,感覺好用可以加關注,以後會經常更新一些常規好用的小**。 

/*************************

8位轉32位

len: 資料長度

*data:資料

說明:剩餘位補0;

*************************/

unsigned int data_u32[10];

void u8tou32(unsigned char len, unsigned char *data)

else

else if (surpluslen == 2)

else if (surpluslen == 1)

else

}num++;

}}

/*************************

32位轉8位

len: 資料長度

*data:資料

*************************/

unsigned char data_u8[40];

void u32tou8(unsigned char len, unsigned int *data)

}

/*************************

8位轉16位

len: 資料長度

*data:資料

*************************/

int16_t data_u16[20];

void u8tou16(unsigned char len, unsigned char *data)

else

else

}num++;

}}

/*************************

16位轉8位

len: 資料長度

*data:資料

*************************/

void u16tou8(unsigned char len, int16_t *data)

}

/*************************

16位轉32位

len: 資料長度

*data:資料

*************************/

void u16tou32(unsigned char len, int16_t *data)

else

else

}num++;

}}

/*************************

32位轉16位

len: 資料長度

*data:資料

*************************/

void u32tou16(unsigned char len, unsigned int *data)

}

遙感影像16位轉8位

現在常用衛星影像基本上都是16位影像,如gf,zy3,landsat8,wv等,有時我們需要將16位影像降到8位影像,這樣不僅減小了資料量,也便於後期處理。通常的軟體在處理降位時會存在一些問題,如 出現空值等。因此,我自己根據常用的降位方法,如最簡單的線性拉伸,分段拉伸以及對數變換和指數變換,結合常...

mul和div指令(8位,16位,32位)

無符號乘法指令,預設運算元與eax相乘 這裡只說32位,其他與下面的div類似 格式 mul 運算元 運算元只有乙個運算元與eax相乘,結果共有16位 這裡的16位是16進製制數 高8位放在edx中,低8位放在eax中 執行命令下面的命令,此時,ecx為00000005,eax為ffff fff9 ...

8位16位32位資料的拆分與合併程式

拆分 16位拆成兩個8位 u16 data16 0x1234 u8 data8 h,data8 l data8 h u8 data16 8 data8 l u8 data16 32位拆成4個8位 方法一 u32 data32 0x12345678 u8 data8 1,data8 2,data8 3...