Problem2348--位操作

2348: 位操作

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

假设你工作在一个32位的机器上,你需要将某一个外设寄存器的第X位设置成0(最低位为第0位,最高位为第31位),将第Y位开始的连续三位设置成110(从高位到低位的顺序),而其他位保持不变。对给定的寄存器值R,及X,Y,编程计算更改后的寄存器值R。

Input

1行:仅一行,包括R,X,Y,以逗号","分隔,R为16进制表示的32位整数,X,Y在0-31之间且Y>=3,(Y-X)的绝对值>=3,保证两次置位不会重合。

Output

1行:更改后的寄存器值R(16进制输出)

Sample Input Copy

12345678,0,3

Sample Output Copy

1234567c

HINT

输入输出十六进制数r用scanf("%x ",&r); printf("%x",r);

Source/Category