首页 > 其他分享 >位域赋值注意事项

位域赋值注意事项

时间:2022-10-30 16:33:20浏览次数:54  
标签:NVML OPR CTRL Age printf vuint32 注意事项 位域 赋值

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 typedef volatile unsigned int vuint32_t;
 5 
 6 struct
 7 {
 8   union
 9   {
10     vuint32_t R ;
11     struct
12     {
13       vuint32_t : 23 ;
14       vuint32_t NVML : 1 ;
15       vuint32_t OPS : 2 ;
16       vuint32_t : 1 ;
17       vuint32_t OPR : 5 ;
18     } B ;
19   } CTRL ;
20 
21   unsigned int age;
22 } Age = {0xff800000, 5};
23 
24 /*
25 000001ff
26 
27 0xff800000  OK
28 */
29 
30 int main( )
31 {
32    printf( "Sizeof( Age ) : %d\n", sizeof(Age) );
33    
34    printf( "Age.age : %d\n", Age.age);
35 
36   printf( "Age.CTRL.B.NVML : %d\n", Age.CTRL.B.NVML);
37 printf( "Age.CTRL.B.OPS : %d\n", Age.CTRL.B.OPS);
38 printf( "Age.CTRL.B.OPR : %d\n", Age.CTRL.B.OPR); 
39  
40    return 0;
41 }

执行结果:

1 [hadoop@Master001 test_code]$ ./test.exe 
2 Sizeof( Age ) : 8
3 Age.age : 5
4 Age.CTRL.B.NVML : 1
5 Age.CTRL.B.OPS : 3
6 Age.CTRL.B.OPR : 31

 

 

注意我们的机器上都是大端,也就是高位在后,低位在前的

标签:NVML,OPR,CTRL,Age,printf,vuint32,注意事项,位域,赋值
From: https://www.cnblogs.com/hushaojun/p/16841570.html

相关文章

  • 使用Expression代替反射读取IDataReader或IDataRecord给实体类赋值
    ExpressionMapper代码usingSystem;usingSystem.Collections.Concurrent;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Data.Common;usingSystem.Li......
  • python导入包的注意事项
    模块导入使用import关键字。模块导入主要有以下形式importrequetsfromrequestsimportgetfromrequetsimport*创建的文件夹中只有包含__init.py__文件才......
  • Spring注解之@Value基于Apollo或者YAML文件为静态变量赋值
    摘要:SpringBoot微服务中,把在Apollo配置中心或者YAML文件里配置的属性赋值给静态变量。综述  Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同......
  • abap screen页签开发注意事项
    问题描述:我比较懒,开发程序的时候所有的页签都是直接公用主程序的按钮功能,这就导致,当我按了按钮之后,SY-UCOMM里保存的是我自建按钮的code,如果不进行页签跳转,或者按其他按钮......
  • idea中新建文件,文字改变,Java编码规范,CMD中的注意事项
    Java程序运行机制:1.编译制——C,C++解释制——网页-——Java先编译再解释新建文件src——右键第一个——第一个——name:HelloHello代码:publicclassHello{publ......
  • 短效HTTP代理适用场景及注意事项
    我们在选购HTTP代理套餐时,肯定都是会针对自身业务需求来选择,不同的业务对代理有不同的要求,今天我们来说说短效HTTP代理适用场景及注意事项。比较常见的业务场景有数据挖......
  • IDE注意事项
    2022年10月27日,20:39分记:和此前笔者设想的事情一样,在IDE(集成开发环境中),会存在一些处理方式,如果出了一些错误,某个方法没有运行,并不是你没有装该依赖,也并不是语......
  • try catch finally 与return注意事项
         ......
  • MATLAB循环注意事项
    循环中的变量要记得每次循环清为空值%---日数据---%day_nbq=[];%外部有大循环所以每次要把变量清空day_n=Cell_n_total_1(:,7);forc......
  • Qt QWidget::find注意事项
    QWidget::find的作用是根据窗口id获取QWidget指针,然后根据QWidget进行相应的操作,很方便;不过QWidget::find能否跨进程呢,比如父进程启动子进程,子进程将主窗口的wid传递给父进......