C语言结构位域
2016-04-29 12:04
302 查看
位域
位域 就是在C语言结构体中,节约内存而使用的一种方法。这种方法可以明确你使用内存空间的位数,以达到解决内存的目的。//安位数重叠 2 + 4 + 6 = 12位, 两个字节为16位,所以两个字节就可以存储了,但类型是int型,在64位系统中,int是4个字节,4*8=32位. struct MyStruct{ int a : 2;// int b : 4; int c : 6; }; //下方的结构体位数是30+4 = 34位,按int 类型重叠,一个int类型为4个字节32位,所以需要两个int类型的存储空间,所以总共的位数是8位。 struct MyStruct1{ int a : 30;// int b : 4; };
在位域的存储过程中,不能够产生越位溢出。如果溢出,那么将自动截取
当位数为1时,那么它表示的取值范围0-1
当它赋值为2时,2的二进制表示1 0,那么自动截取后面的一位,得0
当它赋值为3时,2的二进制表示1 1,那么自动截取后面的一位,得1
相关文章推荐
- 贪吃蛇项目总结
- OpenCV2.4.10之samples_cpp_tutorial-code_learn-----ml(SVM支持向量机一)
- C++单例模式
- 【转】浅析C语言的非局部跳转:setjmp和longjmp
- C/C++之回调函数
- C++中使用new最好要显示调用初始化函数
- C++中的inline关键字
- 的四次C++作业
- UVa 11059 Maximum Product
- C++ builder数据库连接大全
- MFC使用mscomm串口通信
- 第四次c++作业
- C语言单向链表的建立
- 第四次c++作业
- 第四次c++实验
- C++:STL标准入门汇总
- C++ STL--stack/queue 的使用方法
- hdu 1035 Robot Motion
- C++面向对象(二)——继承
- C++空类默认有哪些成员函数?