91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言如何獲取整數的各個字節

發布時間:2021-08-26 14:17:20 來源:億速云 閱讀:152 作者:chen 欄目:互聯網科技

這篇文章主要講解了“C語言如何獲取整數的各個字節”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C語言如何獲取整數的各個字節”吧!

方法一:結構&聯合


    
#include <stdio.h>

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;
}
   
 
運行結果:  
C語言如何獲取整數的各個字節  
這種方法的缺點是:會受到大小端的影響。只有在明確大小端的情況下可稍微用一用。以上是小端模式下的運行結果。  
結構&聯合法不僅僅是在獲取數據各個字節有用,在數據協議、數據位拆分等方面很實用,之后再做更詳細的分享。  
 

方法二:移位操作


    
#include <stdio.h>

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

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;
}
   
 
運行結果:  
C語言如何獲取整數的各個字節  
這也是獲取數據各個字節的最常用也最有效的方法。這種類似的位操作在嵌入式方面應用得很多,比如在LCD操作中表示像素顏色值、FLASH的操作等方面都有用到。

感謝各位的閱讀,以上就是“C語言如何獲取整數的各個字節”的內容了,經過本文的學習后,相信大家對C語言如何獲取整數的各個字節這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石渠县| 石屏县| 嘉黎县| 罗源县| 环江| 包头市| 科技| 石屏县| 方城县| 阿克| 沁阳市| 东丽区| 东莞市| 土默特左旗| 屯留县| 南木林县| 祁东县| 金寨县| 北碚区| 无棣县| 炎陵县| 荥阳市| 南通市| 囊谦县| 阳高县| 卢龙县| 淳安县| 济源市| 淮北市| 昆山市| 镇坪县| 安岳县| 大埔县| 香河县| 百色市| 分宜县| 乌兰浩特市| 平乡县| 鹤峰县| 教育| 滨州市|