日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

byte endian(biglittle endian)

發(fā)布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 byte endian(biglittle endian) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 大小端的區(qū)別
little endian:把低位字節(jié)存放在內(nèi)存的低位; //
big endian:?? 將低位字節(jié)存放在內(nèi)存的高位;

比如:0x1234,則12 就屬于高位字節(jié);34 屬于低位字節(jié)

假如從地址0x0000 0000開始的一個字節(jié)中保存數(shù)據(jù)0x12345678, 這2中字節(jié)序在內(nèi)存當中存放順序為:

address:????? 0x0000 0000??? 0x0000 0001??? 0x0000 0002??? 0x0000 0003
big_endian? 0x12????????????? ????0x34????????? ?????? 0x56???????? ??????? 0x78
lit-endian???? 0x78??????????????? ? 0x56??????????????? ?0x34?????????????? ? 0x12

2.? 為什么會有大小端模式的區(qū)分呢?
??? 因為在計算機系統(tǒng)中,我們是以字節(jié)為單位的,每個地址單元都對應著一個字節(jié),一個字節(jié)為8bit。但是在C語言中除了8bit的char之外,還有16bit的short型,32bit的long型(要看具體的編譯器),另外,對于位數(shù)大于8位的處理器,例如16位或者32位的處理器,由于寄存器寬度大于一個字節(jié),那么必然存在著一個如果將多個字節(jié)安排的問題。因此就導致了大端存儲模式和小端存儲模式。
??? 當前的存儲器,多以byte為訪問的最小單元,當一個邏輯上的整理必須分割為物理上的若干單元時就存在了先放誰后放誰的問題,于是endian的問題應運而生了,對于不同的存儲方法,就有Big-endian和Little-endian兩個描述.
??? (這兩個術語來自于 Jonathan Swift 的《格利佛游記》其中交戰(zhàn)的兩個派別無法就應該從哪一端--小端還是大端--打開一個半熟的雞蛋達成一致。在那個時代,Swift是在諷刺英國和法國之間的持續(xù)沖突,Danny Cohen,一位網(wǎng)絡協(xié)議的早期開創(chuàng)者,第一次使用這兩個術語來指代字節(jié)順序,后來這個術語被廣泛接納了。)

3. 各種CPU支持的字節(jié)序不同

lit-endian:? x86
big_endian:? Motorola/IBM/SUM cpu
ARM 既能工作于大端也能工作于小端

所有網(wǎng)絡協(xié)議也都是采用big endian的方式來傳輸數(shù)據(jù)的。所以有時我們也會把big endian方式稱之為網(wǎng)絡字節(jié)序。

4. 怎么檢測當前的處理器屬于哪個字節(jié)序?

?a. 用VC2005 調(diào)試查看short變量在內(nèi)存中的布局,如下:

int _tmain(int argc, _TCHAR* argv[])
{
?short t = 0x1234;
?return 0;
}
?&t = 0x12ff60, t 在內(nèi)存當中的布局如下圖:

?

?

由此可見, x86 CPU 采用的是little endian.

?

?b.? 利用字節(jié)序的基本規(guī)則進行判斷

enum BYTE_ENDIAN
{
?little_endian,
?big_endian,
?unknown_error
};

BYTE_ENDIAN check_byte_endian_1()
{
?short t = 0x1234;

?char c = (*(char *)(&t));

?if (0x12 == c)
?{
??return big_endian;
?}
?else if(0x34 == c)
?{
??return little_endian;
?}
?
?return unknown_error;
}

3.

/*---------------------------------------------------------------------------
聯(lián)合體union的存放順序是所有成員都從低地址開始存放,利用該特性,
輕松地獲得了CPU對內(nèi)存采用Little-endian還是Big-endian模式讀寫
-----------------------------------------------------------------------------*/
BYTE_ENDIAN check_byte_endian_2()
{
?union test_endian
?{
??char c;
??short s;
?};

?test_endian t;
?t.s = 0x1234;
?
?if (0x12 == t.c)
?{
??return big_endian;
?}
?else if(0x34 == t.c)
?{
??return little_endian;
?}
?
?return unknown_error;
}

==================================
另外,可以參考百度百科(關鍵字:字節(jié)序):http://baike.baidu.com/view/2194385.htm 獲取更多信息。

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的byte endian(biglittle endian)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 奇米第四色首页 | 亚洲成人精品视频 | 国产乱码精品一区二区三区亚洲人 | 久久精品高清视频 | 成年人免费网站在线观看 | 亚洲欧美日韩成人 | 天堂在线播放 | 高h喷汁呻吟3p | 欧美xxxx黑人 | 日本高清网站 | 青娱乐国产盛宴 | 欧美性猛交久久久久 | 国精产品一区一区三区mba下载 | 亚洲综合日韩 | 久久99精品久久只有精品 | 自拍愉拍 | 国产精品久久久毛片 | 国产免费av片在线 | 久久精品视频18 | 免费激情网 | 久久在线免费 | 男人天堂亚洲 | 丰满熟女人妻一区二区三 | 欧美激情伊人 | 吖v在线 | 国产91丝袜在线播放0 | 免费爱爱视频 | 四虎影视免费永久观看在线 | 美女擦边视频 | 日本黄色三级视频 | 免费看的黄色小视频 | 黄色精品网站 | 麻豆传媒映画官网 | 黄色片在线| 成人午夜影视在线观看 | 亚洲欧美日韩成人 | caopor超碰 | 国产成a人亚洲精v品在线观看 | 黄色片久久 | 三级黄色在线 | 亚洲性猛交富婆 | 亚洲视频不卡 | 亚洲国产精品久久久久爰色欲 | 色91视频 | av二区在线 | 69久人妻无码精品一区 | 亚洲国产综合网 | 日本后进式猛烈xx00动态图 | 国产精品人成 | 亚洲一区日本 | 成人免费在线观看 | 麻豆传媒一区二区三区 | 久久99久久99精品免观看粉嫩 | 日本视频在线播放 | 亚洲美女黄色片 | 亚洲欧洲一区 | 91精品久| 97中文字幕在线观看 | 亚洲淫| 少妇粉嫩小泬喷水视频www | 国产一区欧美二区 | 中文字幕在线播放视频 | 91精品看片| 亚洲精品视屏 | 一本色道久久综合亚洲精品小说 | www.日韩av.com | 伊人久久影院 | 乱色精品无码一区二区国产盗 | 天天欲色 | 国产一区二区网址 | 日本免费观看视频 | 日韩av三区| 日韩激情第一页 | 十八禁视频网站在线观看 | 麻豆传媒网址 | 黄网页在线观看 | 国产aⅴ一区二区三区 | 国产综合视频在线 | 一区二区三区免费看视频 | 最好看的中文字幕国语电影mv | 婷婷久 | av 日韩 人妻 黑人 综合 无码 | 91高潮大合集爽到抽搐 | 欧美浓毛大泬视频 | 日本大尺度做爰呻吟舌吻 | 寡妇高潮一级视频免费看 | 亚洲精品国产乱伦 | 免费看一级黄色大全 | 91国偷自产一区二区三区老熟女 | 中文字幕在线观看网址 | 91国产视频在线观看 | 中文字幕色哟哟 | 欧美大白bbbb与bbbb | 久久高清 | 久久精品久久国产 | 国产99在线播放 | 欧美一级不卡 | 久久精品一区二 | 精品一区免费 |