日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 嵌入式大雜燴
[導(dǎo)讀]獲取0x12345678各個(gè)字節(jié),有哪些方法?

題目:獲取0x12345678各個(gè)字節(jié)。

方法一:結(jié)構(gòu)&聯(lián)合

#include?

typedef?unsigned?int??uint32_t;
typedef?unsigned?char?uint8_t;

union?bit32_data
{
????uint32_t?data;
????struct?
????{

????????uint8_t?byte0;
????????uint8_t?byte1;
????????uint8_t?byte2;
????????uint8_t?byte3;
????}byte;
};

int?main(void)
{
????union?bit32_data?num;
????
????num.data?=?0x12345678;

????printf("byte0?=?0x%x\n",?num.byte.byte0);
????printf("byte1?=?0x%x\n",?num.byte.byte1);
????printf("byte2?=?0x%x\n",?num.byte.byte2);
????printf("byte3?=?0x%x\n",?num.byte.byte3);

????return?0;
}

運(yùn)行結(jié)果:

這種方法的缺點(diǎn)是:會(huì)受到大小端的影響。只有在明確大小端的情況下可稍微用一用。以上是小端模式下的運(yùn)行結(jié)果。

結(jié)構(gòu)&聯(lián)合法不僅僅是在獲取數(shù)據(jù)各個(gè)字節(jié)有用,在數(shù)據(jù)協(xié)議、數(shù)據(jù)位拆分等方面很實(shí)用,之后再做更詳細(xì)的分享。大小端推薦文章:《CPU 的大小端模式?》

方法二:移位操作

#include?

#define?GET_LOW_BYTE0(x)?((x?>>??0)?&?0x000000ff)?/*?獲取第0個(gè)字節(jié)?*/
#define?GET_LOW_BYTE1(x)?((x?>>??8)?&?0x000000ff)?/*?獲取第1個(gè)字節(jié)?*/
#define?GET_LOW_BYTE2(x)?((x?>>?16)?&?0x000000ff)?/*?獲取第2個(gè)字節(jié)?*/
#define?GET_LOW_BYTE3(x)?((x?>>?24)?&?0x000000ff)?/*?獲取第3個(gè)字節(jié)?*/

int?main(void)
{
?unsigned?int?a?=?0x12345678;
?
?printf("byte0?=?0x%x\n",?GET_LOW_BYTE0(a));
?printf("byte1?=?0x%x\n",?GET_LOW_BYTE1(a));
?printf("byte2?=?0x%x\n",?GET_LOW_BYTE2(a));
?printf("byte3?=?0x%x\n",?GET_LOW_BYTE3(a));
?return?0;
}

運(yùn)行結(jié)果:

這也是獲取數(shù)據(jù)各個(gè)字節(jié)的最常用也最有效的方法。這種類(lèi)似的位操作在嵌入式方面應(yīng)用得很多,比如在LCD操作中表示像素顏色值、FLASH的操作等方面都有用到。位操作推薦文章:《C語(yǔ)言、嵌入式位操作精華技巧大匯總》

最后

以上就是本次的分享,如果覺(jué)得文章不錯(cuò),轉(zhuǎn)發(fā)、在看,也是我們繼續(xù)更新的動(dòng)力。

猜你喜歡:

嵌入式大雜燴讀者福利:第二期

2020年精選原創(chuàng)筆記匯總

干貨 | protobuf-c之嵌入式平臺(tái)使用

1024G 嵌入式資源大放送!包括但不限于C/C++、單片機(jī)、Linux等。在公眾號(hào)聊天界面回復(fù)1024,即可免費(fèi)獲取!

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀(guān)點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉