fork download
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. void two_bites(unsigned int x, unsigned char * b1, unsigned char * b2)
  6. {
  7. if (x < 2) { *b1 = 0; *b2 = x&1; return; }
  8. while(x >= 4) x >>=1;
  9. *b2 = (unsigned char)(x&1); *b1 = (unsigned char)(x>>1);
  10. }
  11.  
  12. int main()
  13. {
  14. for(unsigned int x = 0; x < 100; ++x)
  15. {
  16. unsigned char b1, b2;
  17. two_bites(x,&b1,&b2);
  18. printf("%u : %d %d\n",x,b1,b2);
  19. }
  20. }
  21.  
Success #stdin #stdout 0s 5420KB
stdin
Standard input is empty
stdout
0 : 0 0
1 : 0 1
2 : 1 0
3 : 1 1
4 : 1 0
5 : 1 0
6 : 1 1
7 : 1 1
8 : 1 0
9 : 1 0
10 : 1 0
11 : 1 0
12 : 1 1
13 : 1 1
14 : 1 1
15 : 1 1
16 : 1 0
17 : 1 0
18 : 1 0
19 : 1 0
20 : 1 0
21 : 1 0
22 : 1 0
23 : 1 0
24 : 1 1
25 : 1 1
26 : 1 1
27 : 1 1
28 : 1 1
29 : 1 1
30 : 1 1
31 : 1 1
32 : 1 0
33 : 1 0
34 : 1 0
35 : 1 0
36 : 1 0
37 : 1 0
38 : 1 0
39 : 1 0
40 : 1 0
41 : 1 0
42 : 1 0
43 : 1 0
44 : 1 0
45 : 1 0
46 : 1 0
47 : 1 0
48 : 1 1
49 : 1 1
50 : 1 1
51 : 1 1
52 : 1 1
53 : 1 1
54 : 1 1
55 : 1 1
56 : 1 1
57 : 1 1
58 : 1 1
59 : 1 1
60 : 1 1
61 : 1 1
62 : 1 1
63 : 1 1
64 : 1 0
65 : 1 0
66 : 1 0
67 : 1 0
68 : 1 0
69 : 1 0
70 : 1 0
71 : 1 0
72 : 1 0
73 : 1 0
74 : 1 0
75 : 1 0
76 : 1 0
77 : 1 0
78 : 1 0
79 : 1 0
80 : 1 0
81 : 1 0
82 : 1 0
83 : 1 0
84 : 1 0
85 : 1 0
86 : 1 0
87 : 1 0
88 : 1 0
89 : 1 0
90 : 1 0
91 : 1 0
92 : 1 0
93 : 1 0
94 : 1 0
95 : 1 0
96 : 1 1
97 : 1 1
98 : 1 1
99 : 1 1