位域编程实战

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 struct bits
 5 {
 6     unsigned char ch1 : 1;
 7     unsigned char ch2 : 1;
 8     unsigned char ch3 : 1;
 9     unsigned char ch4 : 1;
10     unsigned char ch5 : 1;
11     unsigned char ch6 : 1;
12     unsigned char ch7 : 1;
13     unsigned char ch8 : 1;
14 };
15 
16 void main()
17 {
18     int data = -1;
19     int length = 4;
20     struct bits *p = &data;
21     while (length--)
22     {
23         printf("%d%d%d%d %d%d%d%d ",
24             (p + length)->ch8,
25             (p + length)->ch7,
26             (p + length)->ch6,
27             (p + length)->ch5,
28             (p + length)->ch4,
29             (p + length)->ch3,
30             (p + length)->ch2,
31             (p + length)->ch1
32             );
33     }
34     system("pause");
35 }
36 
37 ////////////////////////////////////////////////////////////////////////
38 
39 void main()
40 {
41     double data = 1;
42     int length = 8;
43     struct bits *p = &data;
44     while (length--)
45     {
46         printf("%d%d%d%d %d%d%d%d ",
47             (p + length)->ch8,
48             (p + length)->ch7,
49             (p + length)->ch6,
50             (p + length)->ch5,
51             (p + length)->ch4,
52             (p + length)->ch3,
53             (p + length)->ch2,
54             (p + length)->ch1
55             );
56     }
57     system("pause");
58 }
59 //现代手机,电脑,低位低字节,unix服务器

 

posted on 2015-05-19 10:19  Dragon-wuxl  阅读(154)  评论(0)    收藏  举报

导航