9 // 一つの32Bit整数に4つの8Bit整数を含めて取り出す
23 // int mask_4 = 0xff000000;
24 // int mask_3 = 0x00ff0000;
25 // int mask_2 = 0x0000ff00;
26 // int mask_1 = 0x000000ff;
28 // ab = ((a << 8) + b);
29 // abc = ((ab << 8) + c);
30 // abcd = ((abc << 8) + d);
33 // printf("a = %d, b = %d, c = %d, d = %d, ab = %d, abc = %d, abcd = %d\n", a, b, c, d, ab, abc, abcd);
34 // printf("ax = %x, bx = %x, cx = %x, dx = %x, abx = %x, abcx = %x, abcdx = %x\n", a, b, c, d, ab, abc, abcd);
36 // bar = ((abcd & mask_4) >> 24);
37 // printf("mask4 %x: %d\n", bar, bar);
39 // bar = ((abcd & mask_3) >> 16);
40 // printf("mask3 %x: %d\n", bar, bar);
42 // bar = ((abcd & mask_2) >> 8);
43 // printf("mask2 %x: %d\n", bar, bar);
45 // bar = (abcd & mask_1);
46 // printf("mask1 %x: %d\n", bar, bar);
53 int shift8_updown_in(int sh24, int sh16, int sh8, int sh0)
60 if(sh24 >= 255){ sh24 = 254; }
61 if(sh24 < 0){ sh24 = 0; }
63 if(sh16 >= 255){ sh16 = 254; }
64 if(sh16 < 0){ sh16 = 0; }
66 if(sh8 >= 255){ sh8 = 254; }
67 if(sh8 < 0){ sh8 = 0; }
69 if(sh0 >= 255){ sh0 = 254; }
70 if(sh0 < 0){ sh0 = 0; }
73 sha = ((sh24 << 8) + sh16);
74 shb = ((sha << 8) + sh8);
75 ret = ((shb << 8) + sh0);