位操作习题1
来源:互联网 发布:网络技术培训 编辑:程序博客网 时间:2024/06/05 05:32
/*位操作运算练习将某无符号整型数据的第0-3位清零将某无符号整型数据的第4-7位置1将某无符号整型数据的第0-3位取反*/#include <stdio.h>int main(void){unsigned n;scanf("%x", &n);printf("0-3 clear:0x%x\n", n & 0xfffffff0);printf("4-7 set 1:0x%x\n", n | 0x000000f0);printf("0-3 set ~:0x%x\n", n ^ 0x0000000f);return 0;}
//判断某个数是奇数还是偶数#include <stdio.h>int main(void){unsigned n,tmp;scanf("%x", &n);tmp = n & 0x00000001;if(tmp == 0x01){printf("odd\n");}else printf("even\n");return 0;}
/*通过位运算将整型数据的某些位清零通过位运算将整型数据的某些位置1unsigned cleanbits(unsigned int n, int start, int end)unsigned setbits(unsigned int n, int start, int end)*/#include <stdio.h>unsigned cleanbits(unsigned n, int start, int end){unsigned tmp;tmp = n & ~( ~( (~0) << (end - start + 1) ) << start );printf("before:0x%x\ncleanbits:0x%x\n", n, tmp);return 0;}unsigned setbits(unsigned n, int start, int end){unsigned tmp;tmp = n | ~( (~0) << (end - start + 1) ) << start;printf("before:0x%x\nsetbits:0x%x\n", n, tmp);return 0;}int main(void){unsigned n;int start, end;printf("输入整形数据n,起始bits位start的值,结束bits位end的值\n");scanf("%x%d%d", &n, &start, &end);cleanbits(n, start, end);setbits(n, start, end);return 0;}<pre name="code" class="cpp">输入整形数据n,起始bits位start的值,结束bits位end的值256 0 3before:0x256cleanbits:0x250before:0x256setbits:0x25fetbits(unsigned intn, intstart, intend)
0 0
- 位操作习题1
- 位运算习题1
- 九度OJ 1197:奇偶校验 简单的位操作习题
- 位运算习题
- 位操作1
- C语言习题5.24--文件操作1
- [原创] C语言位运算和bit位操作程序题目答案 -- 谭浩强C语言习题答案
- c_位运算及习题
- 位操作算法基本操作1
- vector操作的习题
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- 位操作
- Java中如何利用Selenium获取元素分析网页内容
- lock类型介绍
- Spring RESTful服务接收和返回JSON最佳实践
- ServU 教程11.1.0.7使用教程
- 构造函数、析构函数、拷贝构造函数
- 位操作习题1
- 视频压缩编码和音频压缩编码的基本原理
- shell脚本显示字体颜色
- Tomcat__实现简单的登陆功能
- NAT专题
- c++ 一次完整读文件 及 实现string 的split方法
- 资源币提现方法与步骤说明
- s5pv210的汇编中断
- HDU 最小公倍数 1108 【水】