摘自《linux核心程式設計》
比如看這個:十六進製制數0x12345678的表示:
32位大端序表示
1234
56780 8
1624
32位小端表示
7856
341208
1624
備註:0x12345678中 12 是高位,78是低位。
x86體系結構是用小端序。
程式設計檢視自己電腦是大端還是小端:
1int a = 1
;2 printf("
sizeof int : %d\n
",sizeof(int
));3 printf("
是大端序嗎? %c\n
",((char*)&a)[sizeof(int)-1]==1?'
y':'
n');
**改自:《大端序,小端序》 這裡有詳細解釋,不再贅述。
大端序和小端序
一 概述 位元組序,又稱端序,尾序,英文 endianness。在電腦科學領域中,位元組序是指存放多位元組資料的位元組 byte 的順序,典型的情況是整數在記憶體中的存放方式和網路傳輸的傳輸順序。endianness有時候也可以用指位序 bit 大小端序跟硬體的體系結構有關,所有x86系列的pc機都...
何為大端序,小端序?
簡單點說,就是位元組的儲存順序,如果資料都是單位元組的,那怎麼儲存無所謂了,但是對於多位元組資料,比如int,double等,就要考慮儲存的順序了。注意位元組序是硬體層面的東西,對於軟體來說通常是透明的。再說白一點,位元組序通常只和你使用的處理器架構有關,而和程式語言無關,比如常見的intel x8...
大端序和小端序
在socket程式設計的時候會遇到端序的問題。位元組序和程式語言無關,和硬體的儲存方式有關。intel的cpu使用小端序,而網路上傳輸資料使用大端序。在我的理解中,大端序和小端序並沒有哪種更好,只是儲存的方式不同而已。記憶體中我們只關心1byte,位址的基本單位也是byte。位元組序不關心1個byt...