最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用C語言程序判斷大小端模式

 更新時間:2013年04月02日 14:39:10   作者:  
本文介紹了用C語言程序判斷大小端的方法,與大家分享一下。

1.大端模式,是指數(shù)據(jù)的低位保存在內(nèi)存的高地址中,而數(shù)據(jù)的高位,保存在內(nèi)存的低地址中;小端模式相反

 2.為什么有大小端之分???

 因為在計算機系統(tǒng)中,存儲是以字節(jié)為單位的,每個地址單元都對應(yīng)著一個字節(jié),一個字節(jié)=8bit。在C語言中除了8bit的char之外,還有16bit的short型,32bit的long型(要看具體的編譯器)。對于位數(shù)大于8位的處理器,例如16位或者32位的處理器,由于寄存器寬度大于一個字節(jié),如何安排多個字節(jié)的存儲,這就有了大端存儲模式和小端存儲模式

3.各自的優(yōu)勢:

小端模式:強制轉(zhuǎn)換數(shù)據(jù)不需要調(diào)整字節(jié)內(nèi)容,1、2、4字節(jié)的存儲方式一樣。

大端模式:符號位的判定固定為第一個字節(jié),容易判斷正負(fù)。

4.常用的X86結(jié)構(gòu)是小端模式,而KEIL C51則為大端模式。很多的ARM,DSP都為小端模式.

5.C語言判斷大小端模式

方法一:

復(fù)制代碼 代碼如下:

void IsBigEndian()
{
 short int a = 0x1122;//十六進(jìn)制,一個數(shù)值占4位
 char b =  *(char *)&a;  //通過將short(2字節(jié))強制類型轉(zhuǎn)換成char單字節(jié),b指向a的起始字節(jié)(低字節(jié))
 if( b == 0x11)//低字節(jié)存的是數(shù)據(jù)的高字節(jié)數(shù)據(jù)
 {
  //是大端模式
 }
 else
 {
  //是小端模式
 }
}

方法二:

復(fù)制代碼 代碼如下:

void IsBigEndian()//原理:聯(lián)合體union的存放順序是所有成員都從低地址開始存放,而且所有成員共享存儲空間
{
 union temp
 {
  short int a;
  char b;
 }temp;
 temp.a = 0x1234;
 if( temp.b == 0x12 )//低字節(jié)存的是數(shù)據(jù)的高字節(jié)數(shù)據(jù)
 {
  //是大端模式
 }
 else
 {
  //是小端模式
 }
}

在我的機子上驗證了一下是小端模式

 

相關(guān)文章

  • 使用devenv在命令行中編譯項目的方法

    使用devenv在命令行中編譯項目的方法

    下面小編就為大家分享一篇使用devenv在命令行中編譯項目的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • C++詳解如何實現(xiàn)單鏈表

    C++詳解如何實現(xiàn)單鏈表

    線性表的鏈?zhǔn)酱鎯τ址Q為單鏈表,它是指通過一組任意的存儲單元來存儲線性表中的數(shù)據(jù)元素。本文將用C++實現(xiàn)單鏈表,需要的可以參考一下
    2022-06-06
  • C/C++中組合詳解及其作用介紹

    C/C++中組合詳解及其作用介紹

    這篇文章主要介紹了C/C++中組合的詳解及其作用介紹,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 用C語言實現(xiàn)計算器功能

    用C語言實現(xiàn)計算器功能

    這篇文章主要為大家詳細(xì)介紹了用C語言實現(xiàn)計算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 用C++實現(xiàn)strcpy(),返回一個char*類型的深入分析

    用C++實現(xiàn)strcpy(),返回一個char*類型的深入分析

    本篇文章是對用C++實現(xiàn)strcpy(),返回一個char*類型進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++編寫生成不重復(fù)的隨機數(shù)代碼

    C++編寫生成不重復(fù)的隨機數(shù)代碼

    本文給大家匯總介紹了3種c++實現(xiàn)生成不重復(fù)的隨機數(shù)的函數(shù),十分的簡單實用,有需要的小伙伴可以參考下。
    2015-05-05
  • C++實現(xiàn)圖的鄰接矩陣表示

    C++實現(xiàn)圖的鄰接矩陣表示

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)圖的鄰接矩陣表示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C++ string替換指定字符實例代碼

    C++ string替換指定字符實例代碼

    這篇文章主要給大家介紹了關(guān)于C++ string替換指定字符的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • C++中move的使用及說明

    C++中move的使用及說明

    這篇文章主要介紹了C++中move的使用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++中的四種類型轉(zhuǎn)換

    C++中的四種類型轉(zhuǎn)換

    類型轉(zhuǎn)換有c風(fēng)格的,當(dāng)然還有c++風(fēng)格的。c風(fēng)格的轉(zhuǎn)換的格式很簡單(TYPE)EXPRESSION,但是c風(fēng)格的類型轉(zhuǎn)換有不少的缺點,有的時候用c風(fēng)格的轉(zhuǎn)換是不合適的,因為它可以在任意類型之間轉(zhuǎn)換,
    2015-08-08

最新評論

乐陵市| 海伦市| 津市市| 五家渠市| 济宁市| 抚顺市| 阳新县| 榆社县| 烟台市| 鄢陵县| 陈巴尔虎旗| 鲜城| 南城县| 友谊县| 乳山市| 湾仔区| 齐河县| 枝江市| 新建县| 绥棱县| 平遥县| 乌鲁木齐市| 顺义区| 平陆县| 顺平县| 改则县| 南乐县| 襄垣县| 安吉县| 郯城县| 富宁县| 自贡市| 汶上县| 夏津县| 兴隆县| 彭州市| 明溪县| 科技| 横山县| 馆陶县| 宜兰县|