如何确定CPU是大端字节序还是小端字节序?
生活随笔
收集整理的這篇文章主要介紹了
如何确定CPU是大端字节序还是小端字节序?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大端字節序:高字節存放在低地址,低字節存放在高低址
小端字節序:低字節存放在高低址,高字節存放在低地址
#include?<stdio.h>?? /*聯合*/?? union?node?? {?? ????int?num;?? ????char?ch;?? }?? ?? int?main()?? {?? ????union?node?p;?? ????//方法一?? ????p.num?=?0x12345678;?? ????if?(p.ch?==?0x78)?? ????{?? ????????printf("Little?endian\n");?? ????}?? ????else?? ????{?? ????????printf("Big?endian\n");?? ????}?? ????//方法二?? ????int?num?=?0x12345678;?? ????char?*q?=?(char?*)&num?? ????if?(*q?==?0x78)?? ????{?? ????????printf("Little?endian\n");?? ????}?? ????else?? ????{?? ????????printf("Big?endian\n");?? ????}?? ????return?0;?? }??
大小端字節順序它是CPU的屬性,所喲不同的CPU的大小端字節順序也不同,移植的時候需要先判斷當前的CPU是大端還是小端字節序,如果不同則移植需要轉移字節序
int num = 0x12345678
大端 小端例如: 0x1003高低址 78 120x1002 56 340x1001 34 560x1000低地址 12 78 [cpp] view plaincopy總結
以上是生活随笔為你收集整理的如何确定CPU是大端字节序还是小端字节序?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fprintf与fwrite的区别
- 下一篇: 程序运行的时间的估算