在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

四種方法教你判斷設備的字節序

學益得智能硬件 ? 來源:學益得智能硬件 ? 2024-11-28 10:47 ? 次閱讀

如何判斷設備的字節序,提供 4 種方法給大家參考。

首先就是從概念入手。

所謂小端字節序,高字節存放在高地址,低字節存放在低地址;大端字節序反過來。

定義一個無符號 short 類型,初始化成 0x0102,定義一個 char 類型指針,保存 num 的地址。

int main()
{
    unsigned short num = 0x0102;


    unsigned char *p = (unsigned char *)#


    if (p[0] == 0x02)
        printf("小端字節序
");
    else if (p[0] == 0x01)
        printf("大端字節序
");
        
return 0;
}

如果 p[0] 是 0x02,說明低地址保存了低字節,設備就是小端。

如果 p[0] 是 0x01,說明低地址保存了高字節,設備就是大端。

第二個,使用聯合體。

聯合體的特點是所有成員共享同一塊內存。

union Test
{
    char p[2];
    short val;
};

在這個聯合體中,char 類型的數組和 short 類型變量占用了同一塊內存,數組的第 0 個元素一定存放在低地址。

如果 p[0] 保存的是 0x02,說明低地址保存了低字節,設備是小端。反之,是大端。

int main()
{
    union Test t;
    t.val = 0x0102;
    
    if (t.p[0] == 0x02)
        printf("小端字節序
");
    else if (t.p[0] == 0x01)
        printf("大端字節序
");
        
return 0;
}

這種方法跟第一種差不多。

第三個,通過宏來判斷。

比如在 Linux 系統中,包含頭文件,使用 BYTE_ORDER 就能直觀的看出字節序。

#include 


int main()
{
    if (__BYTE_ORDER == __LITTLE_ENDIAN)
        printf("小端字節序
");
    else if (__BYTE_ORDER == __BIG_ENDIAN)
        printf("大端字節序
");

return 0;
}

第四個,使用結構體位域。

這個方法同樣是從概念入手,判斷 p[0] 這個低地址保存的是低字節還是高字節。

#include 


struct Test
{
    unsigned int a : 8;
    unsigned int b : 8;
    unsigned int c : 16;
};


int main()
{
    struct Test t = {0x01, 0x02, 0x0304};
    unsigned char *p = (unsigned char *)&t;


    if (p[0] == 0x01)
        printf("小端字節序
");
    else if (p[0] == 0x04)
        printf("大端字節序
");


    return 0;
}

不過這個方法不太推薦,位域的具體布局取決于編譯器,跟環境有關,所以這種方法,參考下就行。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 設備
    +關注

    關注

    2

    文章

    4605

    瀏覽量

    71301
  • 字節
    +關注

    關注

    0

    文章

    42

    瀏覽量

    13996

原文標題:四種方法判斷設備的字節序

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    被問爆的四種供電方式,來啦~

    4G模組的外部電源供電設計十分重要,對系統穩定、射頻性能都有直接影響。 常見的物聯網應用場景下,供電方式有四種: LDO供電方式 DCDC供電方式 鋰電池供電以及充電方式 不可充電鋰亞/鋰錳電池供電
    的頭像 發表于 12-30 15:40 ?614次閱讀
    被問爆的<b class='flag-5'>四種</b>供電方式,來啦~

    DAC61404 SPI應該是四種模式中的哪種?

    DAC61404 SPI應該是四種模式中的哪種?
    發表于 11-27 06:18

    電氣設備四種工作狀態

    在供配電系統中,電器設備的狀態管理是確保電力系統穩定運行和用電安全的關鍵。根據電氣設備的工作條件和安全要求,通常將電氣設備備的狀態分為四種不同的狀態:運行狀態、熱備用狀態、冷備用狀態和
    的頭像 發表于 10-04 11:15 ?4689次閱讀

    反饋的判斷方法有哪些

    各種類型的電子電路。 二、正反饋與負反饋的判斷 采用瞬時極性法來判斷正反饋與負反饋是一常用的方法。具體來說,如果反饋信號與原輸入信號極性相同,則是正反饋;如果反饋信號與原輸入信號極性
    的頭像 發表于 09-20 17:41 ?2535次閱讀
    反饋的<b class='flag-5'>判斷</b><b class='flag-5'>方法</b>有哪些

    雙軸測徑儀的四種樣式!

    儀設計了四種外觀樣式。 45°角布置的開口測徑儀 這個樣式的雙軸測徑儀是目前大部分產線所使用的,樣式簡單大氣。用于外徑及橢圓度尺寸的檢測。 45°角布置的閉口測徑儀 該樣式的雙軸測徑儀將上面的開口閉合
    發表于 08-27 17:42

    濾波電路的四種類型是什么

    濾波電路是電子電路中非常重要的一部分,它主要用于對信號進行頻率選擇,即允許特定頻率范圍內的信號通過,而阻止其他頻率的信號。濾波電路根據其特性可以分為四種基本類型:低通濾波器(Low-Pass
    的頭像 發表于 08-08 16:25 ?4876次閱讀

    負反饋的四種類型是什么

    負反饋是電子系統中常用的一技術,它通過將系統輸出的一部分信號以某種方式反饋到輸入端,以減小輸出信號與期望信號之間的差異,從而提高系統的穩定性和性能。負反饋主要分為四種類型:電壓串聯負反饋、電壓并聯負反饋、電流串聯負反饋和電流并聯負反饋。
    的頭像 發表于 08-08 16:15 ?6865次閱讀

    pwm脈寬調制的四種方法有哪些

    于電機控制、LED調光、音頻處理等領域。以下是四種常見的PWM脈寬調制方法: 固定頻率PWM(Fixed-Frequency PWM) 固定頻率PWM是一最基本的PWM調制方法。在這
    的頭像 發表于 08-08 15:10 ?2279次閱讀

    負反饋的四種類型及判斷方法

    類型及其判斷方法。 一、負反饋的四種類型 比例負反饋 比例負反饋是指系統輸出與輸入之間的反饋關系是線性的,即輸出的變化與輸入的變化成正比。在比例負反饋中,當系統輸出增加時,輸入會相應減少,反之亦然。這種反饋機制有
    的頭像 發表于 08-02 11:01 ?3857次閱讀

    受控源四種類型及表示方法

    受控源是電子電路中的一特殊元件,它具有一個或多個控制量,其輸出電壓或電流與控制量之間存在一定的函數關系。受控源有四種基本類型:電壓控制電壓源(VCVS)、電流控制電壓源(CCVS)、電壓控制電流源
    的頭像 發表于 07-29 15:15 ?9724次閱讀

    簡述四種基本觸發器及其功能

    在數字電路設計中,觸發器是一基本且重要的存儲元件,用于存儲二進制信息(即0和1)。根據功能和應用場景的不同,觸發器可以分為多種類型,其中四種基本觸發器包括RS觸發器、JK觸發器、D觸發器和T觸發器。以下是對這四種基本觸發器及其
    的頭像 發表于 07-27 14:59 ?1.5w次閱讀

    熱電偶補償的四種方式有哪些

    的準確性。以下是四種常見的熱電偶補償方式: 冷端補償法 冷端補償法是一常見的熱電偶補償方法,其基本原理是在熱電偶的冷端(即測量端)加入一個與熱電偶材料相同的金屬或合金,以補償熱電偶在冷端產生的熱電勢。這
    的頭像 發表于 07-23 17:06 ?4096次閱讀

    介紹MCUboot支持的四種升級模式(2)

    介紹MCUboot支持的四種升級模式,分別是Overwrite、Swap、Direct XIP和加載到RAM中執行。由于FSP不支持第四種——加載到RAM中執行,因為我們重點介紹前三
    的頭像 發表于 06-13 10:56 ?1443次閱讀
    介紹MCUboot支持的<b class='flag-5'>四種</b>升級模式(2)

    電氣設備的狀態有哪四種

    電氣設備的狀態可以分為四種:正常狀態、異常狀態、故障狀態和緊急狀態。這四種狀態涵蓋了電氣設備在運行過程中可能遇到的各種情況。本文將詳細分析這四種
    的頭像 發表于 06-05 16:47 ?6119次閱讀

    四種電源防接反電路

    防反接電路用于防止電子元器件因正負極接反而燒毀。常見的防反接電路有四種:二極管串聯、整流橋、NMOS和PMOS。二極管串聯利用二極管的單向導電性,整流橋則能正反接都導通但會消耗電能。NMOS和PMOS的防反接電路設計則通過控制電流路徑來實現正負極的保護。
    發表于 05-22 16:19
    主站蜘蛛池模板: 人人澡人人澡人人看青草 | 欧洲性开放大片免费观看视频 | 欧美性猛交xxxx黑人喷水 | 日本免费网站 | 欧美一级特黄乱妇高清视频 | 欧洲另类一二三四区 | xxx日本69| 欧美一区二区三区大片 | 国产特黄一级一片免费 | 4480yy私人午夜a级国产 | 日日摸人人看97人人澡 | 永久黄色免费网站 | 伊人成人在线 | 一级特黄色片 | 午夜综合 | 波多野结衣50连精喷在线 | 国产精品免费拍拍1000部 | 国产综合第一页在线视频 | 成人手机看片 | 色站视频| 手机视频在线播放 | 免费网站看黄 | 在线观看国产三级 | 动漫精品成人免费网站 | 亚洲国产精品久久婷婷 | 一区二区三区四区在线不卡高清 | 久久99国产亚洲高清观看首页 | 久久久免费的精品 | 天天操精品 | 国产老肥熟xxxx | 一级特黄aa大片一又好看 | 亚洲欧美日本综合 | 国产特黄一级一片免费 | 日韩黄色成人 | 国产农村一级特黄α真人毛片 | 天天操天天干天天做 | 欧美一卡二三卡四卡不卡 | 婷婷春色 | 免费在线看视频 | 人人搞人人爽 | 高h肉肉视频在线播放观看 高黄视频 |