[PIC®/AVR®/dsPIC®产品] 在联合体中使用位段表示,节约字节

[复制链接]
 楼主| xuanhuanzi 发表于 2024-5-16 23:04 | 显示全部楼层 |阅读模式
  1. #include <stdio.h>
  2. union FrequencyData {
  3.     unsigned int rawData; // 原始数据
  4.     struct {
  5.         unsigned int frequency : 15; // 频率值,占用15位
  6.         unsigned int swFlag : 1;     // SW标志位,占用1位
  7.     };
  8. };

  9. typedef union FrequencyData Frequency;
  10. Frequency dd;


  11. int main()
  12. {
  13.         dd.rawData=0xF001;
  14.    /* 我的第一个 C 程序 */
  15.    printf("Hello, World! \n");
  16.    printf("%d \n",dd.swFlag);
  17.    printf("%d \n",dd.frequency);
  18.    
  19.    return 0;
  20. }


 楼主| xuanhuanzi 发表于 2024-5-16 23:04 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

183

主题

2307

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

183

主题

2307

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部