99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

四種方法教你判斷設(shè)備的字節(jié)序

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 2024-11-28 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

如何判斷設(shè)備的字節(jié)序,提供 4 種方法給大家參考。

首先就是從概念入手。

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

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

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


    unsigned char *p = (unsigned char *)#


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

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

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

第二個,使用聯(lián)合體。

聯(lián)合體的特點是所有成員共享同一塊內(nèi)存。

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

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

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

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

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

第三個,通過宏來判斷。

比如在 Linux 系統(tǒng)中,包含頭文件,使用 BYTE_ORDER 就能直觀的看出字節(jié)序。

#include 


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

return 0;
}

第四個,使用結(jié)構(gòu)體位域。

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

#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("小端字節(jié)序
");
    else if (p[0] == 0x04)
        printf("大端字節(jié)序
");


    return 0;
}

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 設(shè)備
    +關(guān)注

    關(guān)注

    2

    文章

    4667

    瀏覽量

    71743
  • 字節(jié)
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    14134

原文標題:四種方法判斷設(shè)備的字節(jié)序

文章出處:【微信號:學(xué)益得智能硬件,微信公眾號:學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RDMA簡介3之四種子協(xié)議對比

    RDMA協(xié)議共有四種子協(xié)議,分別為InfiniBand、iWARP、RoCE v1和RoCE v2協(xié)議。這四種協(xié)議使用統(tǒng)一的RDMA API,但在具體的網(wǎng)絡(luò)層級實現(xiàn)上有所不同,如圖1所示,接下來將
    發(fā)表于 06-04 16:05

    變頻器主要支持哪四種模式?有什么區(qū)別?

    變頻器作為現(xiàn)代工業(yè)自動化領(lǐng)域中的關(guān)鍵設(shè)備,其控制模式的多樣性和靈活性對于滿足不同應(yīng)用場景的需求至關(guān)重要。變頻器主要支持四種控制模式:無PG的V/F模式、有PG的V/F模式、無PG的矢量控制模式以及有
    的頭像 發(fā)表于 04-16 18:22 ?660次閱讀
    變頻器主要支持哪<b class='flag-5'>四種</b>模式?有什么區(qū)別?

    私藏技術(shù)大公開!四種常見供電方案

    在現(xiàn)代生活中,供電問題直接關(guān)系到我們的生活質(zhì)量與工作效率。以下是四種超實用的供電方案,無論是在家庭生活還是工作場景中,都能為你提供穩(wěn)定可靠的電力支持。 常見的物聯(lián)網(wǎng)應(yīng)用場景下,供電方式有四種
    的頭像 發(fā)表于 12-31 14:28 ?2366次閱讀
    私藏技術(shù)大公開!<b class='flag-5'>四種</b>常見供電方案

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

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

    DAC61404 SPI應(yīng)該是四種模式中的哪種?

    DAC61404 SPI應(yīng)該是四種模式中的哪種?
    發(fā)表于 11-27 06:18

    電氣設(shè)備四種工作狀態(tài)

    在供配電系統(tǒng)中,電器設(shè)備的狀態(tài)管理是確保電力系統(tǒng)穩(wěn)定運行和用電安全的關(guān)鍵。根據(jù)電氣設(shè)備的工作條件和安全要求,通常將電氣設(shè)備備的狀態(tài)分為四種不同的狀態(tài):運行狀態(tài)、熱備用狀態(tài)、冷備用狀態(tài)和
    的頭像 發(fā)表于 10-04 11:15 ?6318次閱讀

    反饋的判斷方法有哪些

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

    雙軸測徑儀的四種樣式!

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

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

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

    負反饋的四種類型是什么

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

    pwm脈寬調(diào)制的四種方法有哪些

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

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

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

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

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

    簡述四種基本觸發(fā)器及其功能

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

    熱電偶補償?shù)?b class='flag-5'>四種方式有哪些

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