[技术问答] 十进制数据也可以与16进制数据进行逻辑操作

[复制链接]
 楼主| xuanhuanzi 发表于 2024-5-16 23:06 | 显示全部楼层 |阅读模式
  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=32000|0x8000;
  14.    /* 我的第一个 C 程序 */
  15.    printf("Hello, World! \n");
  16.    printf("%d \n",dd.swFlag);
  17.    printf("%d \n",dd.frequency);
  18.    
  19.    return 0;
  20. }
7491266462105701be.png
 楼主| xuanhuanzi 发表于 2024-5-16 23:07 | 显示全部楼层
这个操作其实是在编译阶段识别的,所以是可以打不过可以方便我们看懂程序逻辑运算的关系。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

183

主题

2307

帖子

3

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