APP下载
报价宝  ›  科技  › 

C语言位域(位段)

报价宝 来源:baojiabao.com 发布时间:2019-07-12 02:49:00 10月03日更新
报价宝综合消息C语言位域(位段)

一、位域是什么?

位域是一种比字节还小的位元位资料,它可以是一个位元位,也可以是多个位元位一起组成。高阶语言或许很少接触位域的使用,但是从事嵌入式开发的工程师一定不会陌生,它简洁明了,但是使用起来却需要知道当前IDE储存的资料是大端还是小端。

二、怎么定义位域?

位域资料的定义需要用到C语言关键字struct,它也是一种资料结构,可以对某些位元位进行特殊的宣告。比如某字节的含义如下图:

位域

那么它的宣告如下;

typedef struct w5500_control_phase

{

#ifdef LITTLE_ENDIAN

uint8_t operation_mode:2;

uint8_t access_mode_bit:1;

uint8_t block_select_bits:5;

#elif defined(BIG_ENDIAN)

uint8_t block_select_bits:5;

uint8_t access_mode_bit:1;

uint8_t operation_mode:2;

#endif

}w5500_control_phase_t;

三、示例程式码。

位域示例源代码

由于我使用的是Windows PC,资料预设是小端模式,从上图可以看到位域的使用方法与便捷。(BTW:其实上图举例的是W5500网络卡驱动的某些资料的定义)。

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 报价宝 数码相机价格 电视机价格 小米手机价格 华为手机价格