#includeusing namespace std;
unsigned int fun1(unsigned int a)
unsigned int fun2(unsigned int a)
int main()
以unsigned int型別為例,其變數占用四個位元組記憶體空間,假設a=0x11223344,大端儲存,占用空間0x10~0x13,b占用空間0x20~0x23,則讓0x20空間內容等於0x13空間內容,0x21空間內容等於0x12空間內容,0x22空間內容等於0x11空間內容,0x23空間內容等於0x10空間內容即可。
fun1()中,unsigned int(&a)是取a的首位元組記憶體位址,並強制轉化為unsigned int型別資料,後面加3是得到a最後乙個位元組的位址, 即(unsigned int(&a) + 3),對這部分進行char *轉換,是將其轉化為乙個char型別的指向,再其前面加 * 是取該位址的內容。
fun2()中,((char*)&b)類似。
參考:大端模式和小端模式
大小端轉換
大小端轉換方法 include include define tranverse16 x uint16 x 0xff00 8 uint16 x 0x00ff 8 define tranverse32 x uint32 x 0xff000000 24 uint32 x 0x00ff0000 8 uin...
大小端轉換
short型別 public static short reverseushort short value 簡單分析一下 short型別占用16位,也就是兩個位元組,大小端只需要將兩個位元組互換一下就行。採用位操作,通過和 0x00ffu進行與運算,拿到第二個位元組的內容,然後左移8位,將其放置到第...
Java 大小端轉換
package nlp.nlp 小端資料,byte轉換 public class byteconvert public static final int unicode len 2 int轉換為小端byte 高位放在高位址中 param ivalue return public byte int2b...