大端字节序与小端字节序的转换
生活随笔
收集整理的這篇文章主要介紹了
大端字节序与小端字节序的转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
逐步加深對字節操作的理解,記錄一下大端字節序與小端字節序的轉換,開發環境是vs2010,項目類型是控制臺輸出程序,下面是代碼實現:
// ByteOrder_demo.cpp : 定義控制臺應用程序的入口點。 //#include "stdafx.h" #include <iostream> using namespace std;void JdugeByteOrder(int &a) {unsigned char *p = (unsigned char *)&a;for(int i = 0; i < sizeof(int);i++){int b = *(p+i);cout<<hex<<b<<"\t";}cout<<endl; }//字節序轉換 void ExchangeByteOrder(int *pData,int nSize)//0x78563412 {unsigned char *p = (unsigned char *)pData;unsigned char temp = 0;for(int i = 0; i < nSize/2 ; i++){temp = p[i];p[i] = p[nSize - 1 - i];p[nSize - 1 - i] = temp;} }int _tmain(int argc, _TCHAR* argv[]) {int a = 0x12345678;JdugeByteOrder(a);ExchangeByteOrder(&a,sizeof(a));JdugeByteOrder(a);system("pause");return 0; }運行結果:
由運行結果看出,原來的小端字節序轉換為大端字節序。
總結
以上是生活随笔為你收集整理的大端字节序与小端字节序的转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gen文件下有两个R.java_andr
- 下一篇: qt中生成含有中文的json文件和解析j