下面包含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...