| #include <stdio.h> | |
| #include <stdlib.h> | |
| union u { | |
| struct { | |
| unsigned int a : 8; | |
| unsigned int b : 3; | |
| unsigned int c : 3; | |
| unsigned int d : 3; | |
| unsigned int e : 3; | |
| unsigned int f : 3; | |
| unsigned int g : 3; | |
| unsigned int h : 3; | |
| unsigned int i : 3; | |
| unsigned int n : 8; | |
| unsigned int o : 8; | |
| unsigned int p : 8; | |
| unsigned int q : 8; | |
| } s; | |
| unsigned long long token; | |
| }; | |
| int main(int argc, char *argv[]) | |
| { | |
| union u uu; | |
| uu.token = 0x012492490000FFFFULL; | |
| printf("p = 0x%02X\n", uu.s.p); | |
| return 0; | |
| } | |