unsigned char s1 : 2的用法

来源:互联网 发布:如何确保淘宝免邮 编辑:程序博客网 时间:2024/06/05 13:25
#include<stdio.h>#include<stdlib.h>//默认按照四字节对齐//#pragma pack(1)union V {struct X{unsigned char s1 : 2;unsigned char s2 : 3;unsigned char s3 : 3;} x;  unsigned char c;} v;//#pragma pack()int main(void){v.c = 100;//对应的二进制数字是0110 0100    printf("%d\n", v.x.s3);//高三位,即011getchar();return 0;}


(1)注意对其方式的使用方法;

(2)注意字符型变量赋值的写法,此时的100,代表的是十进制,要化为二进制;

(3)注意位操作的问题,此时的s1:2表示的是一个字节的最低位。



0 0
原创粉丝点击