• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Creative Commons License
            本Blog采用 知識共享署名-非商業性使用-禁止演繹 3.0 Unported許可協議 進行許可。 —— Fox <游戲人生>

            游戲人生

            游戲人生 != ( 人生 == 游戲 )
            站點遷移至:http://www.yulefox.com。請訂閱本博的朋友將RSS修改為http://feeds.feedburner.com/yulefox
            posts - 62, comments - 508, trackbacks - 0, articles - 7

            Big-endian記憶(附閑扯)

            Posted on 2008-07-30 14:48 Fox 閱讀(2031) 評論(4)  編輯 收藏 引用 所屬分類: T技術碎語

            一、Big-endian & Little-endian

            還是Wikipedia好啊!可惜中文的國內看不了,愚昧啊!實在覺得中文有點難懂,看看日本語版本吧:D!

            關于端(endianness)的介紹,Wikipedia上比較全了:http://en.wikipedia.org/wiki/Endianness

            關于網絡字節序(network byte order)主機字節序(host byte order),說來挺無關緊要的一點東西,因為每次總是忘掉,所以每次都要好奇的看看大端(big-endian)小端(little-endian)

            給定unsigned long型整數十六進制形式:0x0A0B0C0D,其big-endian和little-endian形式分別為:

            1) Big-endian

            Memory
            |
            ...  |  8-bit atomic element size       | ...    |  16-bit atomic element size
            | 0x0A |  a                               | 0x0A0B |  a
            | 0x0B |  a+1                             | 0x0C0D |  a+1
            | 0x0C |  a+2
            | 0x0D |  a+3
            | ...  |

            2) Little-endian(X86)

            Memory
            |
            ...  |  8-bit atomic element size       | ...    |  16-bit atomic element size
            | 0x0D |  a                               | 0x0C0D |  a
            | 0x0C |  a+1                             | 0x0A0B |  a+1
            | 0x0B |  a+2
            | 0x0A |  a+3
            | ...  |

            Mapping registers to memory locations (from Wikipedia)

            為什么X86存儲會使用little-endian,起初我想對于位運算,尤其是位移運算,little-endian很方便,但轉念一想,big-endian也方便啊,無非是左移和右移的區別而已,但little-endian的優勢在于unsigned char/short/int/long類型轉換時,存儲位置無需改變。

            在網絡傳輸中,采用big-endian序,對于0x0A0B0C0D,傳輸順序就是0A 0B 0C 0D,因此big-endian作為network byte order,little-endian作為host byte order。

            ________________________________________________

            PS:做雞有什么不好?

            上午跟某同事(為尊重慮,下文以Y稱之)躲在犄角旮旯抽煙。以下為場景再現:

            (忽然整出來一句)Y:聽過鷹的故事沒有?

            (滿臉疑惑)Fox:沒有。

            Y:一只小鷹掉到雞窩里,#$@%……

            F:我不是鷹,我就是一只雞,做技術雞有什么不好?

            Y:做技術沒有不好啊……

            F:我不是說做技術,我說做雞,我就是在地上走的,我為什么總是要抬頭看天?

            Y:你要往上看,沒有人注定不能飛,XX以前也沒有想過有一天會飛起來。

            F:我不是掉到雞窩里,我本來就在雞窩里,我也喜歡呆在雞窩里,別人都在地上走,我為什么要飛起來?

            Y:你總要飛起來。

            F:我說了我喜歡呆在雞窩里,你見過有那只雞飛起來了?

            Y:……

            F:我就是一只雞,插了雞翅還是飛不起來,況且,我對飛起來也沒有任何興趣。

            Y:……

            F:做雞有什么不好?

            Y:你看老毛,與人斗其樂無窮,他境界多高,與天斗其樂無窮,知道吧,他已經不屑與人斗了。

            F:我不喜歡與人斗,我也斗不過,做雞有什么不好?

            Y:……

            Feedback

            # re: Big-endian記憶(附閑扯)  回復  更多評論   

            2008-07-30 16:01 by 楊大爺
            最近KFC推出了一款“勝利之翼”你可以去試試

            # re: Big-endian記憶(附閑扯)  回復  更多評論   

            2008-07-31 08:40 by LOGOS
            提問:
            為啥網絡傳輸要選擇big-endian?

            # re: Big-endian記憶(附閑扯)  回復  更多評論   

            2008-07-31 10:09 by Fox
            比如發送緩沖區中一段數據(一個整型數:0x0A0B0C0D),最合適的發送方式當是從低址到高址順序發送,接受也將是順序接收到0A,0B,0C,0D這樣,big-endian正是這種順序。

            # re: Big-endian記憶(附閑扯)[未登錄]  回復  更多評論   

            2008-07-31 12:34 by YANG
            最近可以訪問了哈,不知道是不是因為OYH
            狠狠色综合久久久久尤物| 亚洲日韩中文无码久久| 中文精品久久久久国产网址| 久久精品免费观看| 伊人久久大香线蕉综合热线| 久久精品aⅴ无码中文字字幕不卡| 国产成人精品免费久久久久| 久久精品国产亚洲网站| 色婷婷综合久久久久中文字幕| 久久久这里有精品| 中文字幕亚洲综合久久| 久久天天躁狠狠躁夜夜avapp| 久久精品一区二区国产| 午夜精品久久久久| 国产精品久久久久aaaa| 久久天天躁狠狠躁夜夜avapp| 香港aa三级久久三级| 亚洲AV无码一区东京热久久| 久久本道久久综合伊人| 精品熟女少妇av免费久久| 中文成人久久久久影院免费观看| 久久99国产综合精品| 久久亚洲日韩看片无码| 久久综合九色欧美综合狠狠 | 伊人丁香狠狠色综合久久| 人人妻久久人人澡人人爽人人精品| 久久国产精品久久精品国产| 中文字幕久久精品无码| 久久无码国产| 久久久久久无码国产精品中文字幕| 91精品国产91久久综合| 国产精品免费看久久久| 久久久久久午夜成人影院| 久久久久亚洲AV无码观看| 亚洲日本久久久午夜精品| 欧美日韩精品久久久免费观看| 国产叼嘿久久精品久久| 99久久免费只有精品国产| 久久91精品国产91久久户| 久久中文娱乐网| 国内精品久久久久久麻豆 |