- #include
<stdio.h> -
- #define
CLR(r, x) r &= ~(1UL << x) - #define
SET(r, y) r |= (1UL << y) -
- int
main() - {
-
int r, x, y; -
scanf("%x,%d,%d", &r, &x, &y); -
-
CLR(r,x); -
SET(r,y); -
SET(r,y-1); -
CLR(r,y-2); -
-
printf("%x", r); -
return 0; - }
“顶嵌杯”----初赛第1题分析
转载位操作
假设你工作在一个32位的机器上,你需要将某一个外设寄存器的第X位设置成0(最低位为第0位,最高位为第31位),将第Y位开始的连续三位设置成110(从高位到低位的顺序),而其他位保持不变。对给定的寄存器值R,及X,Y,编程计算更改后的寄存器值R。
输入:
输出:
样例输入:
12345678, 0, 3
样例输出:
1234567c
考察重点:嵌入式系统编程中,对位的操作,常用于操作寄存器内容。
参考代码:
上一篇:全国嵌入式系统C语言编程大赛
下一篇:“顶嵌杯”----初赛第2题分析
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
2011 蓝桥杯【初赛试题】 程序设计题二
公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正购买的数量,中间用空格分隔
2011 蓝桥杯 初赛试题 程序设计题 C语言 ACM C++ OJ i++ #include 数组 -
2011蓝桥杯【初赛试题】程序设计题三
一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:1.首先按行填入密钥串。2.紧接其后,按字母序按行填入不在密钥串中的字母。3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换。如果密钥
2011蓝桥杯 初赛试题 程序设计题三 C语言 ACM C++ OJ i++ 字符串 #include -
2011蓝桥杯【初赛试题】程序设计题一
方阵的主对角线之上称为“上三角”。请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出:1 2 36 45当n=4时,输出:1 2 3 49 10 58 67当n=5时,输出:1 2 3 4 512 13 14 611 15 710 8
2011蓝桥杯 初赛试题 程序设计题一 C语言 ACM C++ OJ i++ #include 顺时针 -
2013蓝桥杯【初赛试题】第39阶台阶
第39阶台阶小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找交解答过程
2013蓝桥杯 初赛试题 第39阶台阶 C语言 ACM C++ OJ ide 递归 斐波那契