位操作
1 /*
2 * main.c
3 *
4 * Created on: 2010-5-14
5 * Author: zhujia
6 */
7 #include <stdio.h>
8 #include <stdlib.h>
9
10 #define setbit(x,y) x|=(1<<(y)) //将X的第Y位置1
11 #define clrbit(x,y) x&=~(1<<(y)) //将X的第Y位清0
12
13 int main(void)
14 {
15 int r, x, y;
16 scanf("%x,%d,%d", &r, &x, &y);
17 clrbit(r, x);
18 setbit(r, y);
19 setbit(r, y - 1);
20 clrbit(r, y - 2);
21 printf("%x\n", r);
22 return EXIT_SUCCESS;
23 }
24
2 * main.c
3 *
4 * Created on: 2010-5-14
5 * Author: zhujia
6 */
7 #include <stdio.h>
8 #include <stdlib.h>
9
10 #define setbit(x,y) x|=(1<<(y)) //将X的第Y位置1
11 #define clrbit(x,y) x&=~(1<<(y)) //将X的第Y位清0
12
13 int main(void)
14 {
15 int r, x, y;
16 scanf("%x,%d,%d", &r, &x, &y);
17 clrbit(r, x);
18 setbit(r, y);
19 setbit(r, y - 1);
20 clrbit(r, y - 2);
21 printf("%x\n", r);
22 return EXIT_SUCCESS;
23 }
24