天天看點

小端模式和大端模式_教你用簡單的程式判斷你的電腦是大端還是小端

小端模式和大端模式_教你用簡單的程式判斷你的電腦是大端還是小端
碼字不易,對你有幫助 點贊 /轉發↪️/關注

支援一下作者

微信搜公衆号:

不會程式設計的程式圓 看更多幹貨,擷取第一時間更新

如何用程式判斷自己的機器是大端還是小端?

通常情況下,我們的計算機都是小端存儲模式。

小端:數字的低位存儲到記憶體的低位址上。

大端:數字的低位存儲到記憶體的高位址上。

我們在 VS 中建立一個臨時變臉

int 
           

然後打開調試器,看到變量 a 在記憶體中是這樣存儲的:

0x0133FC50  
           

對于 Vs 調試中記憶體視窗的這行資訊應該如何了解呢?它就表示:

小端模式和大端模式_教你用簡單的程式判斷你的電腦是大端還是小端

十六進制數每兩位表示一個位元組,位址也是十六進制數;int 類型在 32 位機器上大小為 4 個位元組。

如何了解十六進制數每兩位表示一個位元組?

十六進制數每一位的取值範圍是 0 ~ 15,表示 16 種不同可能,對應 4 個二進制位(0000 ~ 1111),是以每一位十六進制可以表示 4 個二進制位,那麼兩個十六進制位就表示 8 個二進制位,也就是 1 個位元組。

可以看到,在我的機器上,低位 44 存儲在 低位址(0x0133FC50)上,是以我的機器是 小端存儲模式。

如果是大端存儲模式,變量 a 在記憶體中的存儲應該如下圖所示:

小端模式和大端模式_教你用簡單的程式判斷你的電腦是大端還是小端

現在,讓我們用程式來驗證一下我們的機器到底是大端還是小端。

方法一

#include
           

方法二

#include
           
如果本文你有地方沒有看懂,推薦閱讀以下文章,可以幫助你了解

  • 一文看懂枚舉&結構&聯合
推薦閱讀:

程式設計反思錄:給你三個必須要學C語言的理由!​zhuanlan.zhihu.com

小端模式和大端模式_教你用簡單的程式判斷你的電腦是大端還是小端

以上就是本次的内容。

如果文章有錯誤歡迎指正和補充,感謝!

最後,如果你還有什麼問題或者想知道到的,可以 在評論區/私信 告訴我呦,我可以在後面的文章加上你的真知灼見 。

關注我

,看更多幹貨!

我是程式圓,我們下次再見。