免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Big Endian和Little Endian的區(qū)別

1.故事的起源

“endian”這個詞出自《格列佛游記》。小人國的內(nèi)戰(zhàn)就源于吃雞蛋時是究竟從大頭(Big-Endian)敲開還是從小頭(Little-Endian)敲開,由此曾發(fā)生過六次叛亂,其中一個皇帝送了命,另一個丟了王位。

我們一般將endian翻譯成“字節(jié)序”,將big endian和little endian稱作“大尾”和“小尾”。

2.什么是Big Endian和Little Endian?

在設(shè)計計算機系統(tǒng)的時候,有兩種處理內(nèi)存中數(shù)據(jù)的方法。一種叫為little-endian,存放在內(nèi)存中最低位的數(shù)值是來自數(shù)據(jù)的最右邊部分(也就是數(shù)據(jù)的最低位部分)。比如一個16進制數(shù)字0x12345678, 在內(nèi)存存放的方式如下:

           

01111000

0101,0110

0011,0100

0001,0010

地址

100

101

102

103

 

 

            另一種稱為big-endian,正好相反,存放在內(nèi)存中最低位的數(shù)值是來自數(shù)據(jù)的最左邊邊部分(也就是數(shù)據(jù)的最高為部分)。比如一個16進制數(shù)字0x12345678, 在內(nèi)存存放的方式如下:

0001,0010

00110100

0101,0110

0111,1000

地址

100

101

102

103

比如某些文件需要在不同平臺處理,或者通過Socket通信。這方面我們可以借助ntohl(), ntohs(), htonl(), and htons()函數(shù)進行格式轉(zhuǎn)換。

3.如何判斷系統(tǒng)是Big Endian還是Little Endian?

/usr/include/中(包括子目錄)查找字符串BYTE_ORDER(或_BYTE_ORDER, __BYTE_ORDER),確定其值。這個值一般在endian.h或machine/endian.h文件中可以找到,有時在feature.h中,不同的操作系統(tǒng)可能有所不同。一般來說,Little Endian系統(tǒng)BYTE_ORDER(或_BYTE_ORDER,__BYTE_ORDER)為1234,Big Endian系統(tǒng)為4321。大部分用戶的操作系統(tǒng)(如windows, FreeBsd,Linux)是Little Endian的。少部分,如MAC OS ,是Big Endian 的。本質(zhì)上說,Little Endian還是Big Endian與操作系統(tǒng)和芯片類型都有關(guān)系。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
大端(Big Endian)與小端(Little Endian)詳解
little/big endian
Big-endian和little-endian
從兩道經(jīng)典試題談C/C 中聯(lián)合體(union)的使用 - Inside SW,FW and HW R
高位優(yōu)先與低位優(yōu)先
linux內(nèi)核分析筆記----內(nèi)核可移植性
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服