- (void)viewDidLoad {
    [super viewDidLoad];
 
    union{
        uint32_t num;
        struct uint32data da;
    }val;
    val.num = 30; // 00 01 11 10
   
    NSLog(@"%d, %d , %d , %d", val.da.a, val.da.b, val.da.c, val.da.d);  // 第一种
   
   
    uint32_t data = 30;
    struct uint32data da = *(struct uint32data *)&data;                  // 第二种
   
    NSLog(@"%d, %d , %d , %d", da.a, da.b, da.c, da.d);
   
   
    uint32_t dat = 30;
    NSLog(@"%u, %u , %u , %u", dat&3, dat>>2&3, dat>>4&3, dat>>6&3);     // 第三种
   
}

struct uint32data {
    uint32_t a:2;
    uint32_t b:2;
    uint32_t c:2;
    uint32_t d:2;
};

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案