C++语言练习题位运算

news/2024/11/8 6:11:19/

位运算(01)基础

 

 

 位运算(02)从一个 16 位的单元中取出某几位


题目描述
        从一个 16 位的单元中取出某几位(即该几位保留原值,其余位为 0. 使用 value 存放该 16
位的数,n1 为欲取出的起始位,n2 为欲取出的结束位。(注意:是从左到右取)
输入描述
输入 3 个数:value,n1,n2
value 为八进制数
n1、n2 为十进制数,n1 与 n2 之间英文逗号间隔
输出描述
以 8 进制形式输出取出的从 n1~n2 这几位的值
冒号为英文冒号
输入样例
173253
5,8
输出样例
result:6
 

#include <stdio.h>
int main()
{unsigned short b, c;int a, n1, n2;scanf("%o\n", &a);scanf("%d,%d", &n1, &n2);b = a << (n1 - 1);c = b >> (n1 - 1 + 16 - n2);printf("result:%o\n", c);return 0;
}

 位运算(03)判断一个数是否是 2 的幂

题目描述
        输入一个数,判断这个数是否是 2 的幂。
输入描述
以十进制形式输入一个整数
输出描述
判断这个数是否是 2 的幂
输入样例
256
234
输出样例
256 是 2 的幂
234 不是 2 的幂

#include <stdio.h>
#include <math.h>
int main()
{int i, a, b = 1;scanf("%d", &a);for (i = 1; b < a; i++){b = 1 << i;}if (b == a){printf("%d 是 2 的幂\n", a);}else{printf("%d 不是 2 的幂\n", a);}return 0;
}
#include <stdio.h>
main()
{int a;scanf("%d", &a);if (a == 0)printf("%d 不是 2 的幂", a);else if (((a - 1) & a) == 0){printf("%d 是 2 的幂", a);}elseprintf("%d 不是 2 的幂", a);return 0;
}

位运算(04)取二进制数的奇数位

题目描述
编程实现,对一个 16 位的二进制数取出它的奇数位(16 位分别是:0~15 位,奇数位即从左
边起第 1,3,5,...15 位)。
输入描述
输入一个八进制 a
输出描述
用 8 进制形式输出取出的奇数位
输入样例
145432
输出样例
result:263

#include <stdio.h>
#include <math.h>
int main()
{int i, sum;int a[17] = {0};int b;unsigned short c, d;sum = 0;scanf("%o", &b);for (i = 0; i <= 14; i = i + 2){c = b << i;d = c >> 15;a[i] = d;sum = sum + a[i] * pow(2, (15 - 1 - i) / 2);}printf("result:%o\n", sum);return 0;
}


 


http://www.ppmy.cn/news/64094.html

相关文章

凌恩生物文献分享|南农大胡锋教授团队揭示苯并[a]芘胁迫影响蚯蚓肠道病毒组生态适应策略机制

蚯蚓被誉为“土壤生态系统工程师”&#xff0c;对于土壤结构改良、有机质分解、土壤污染修复具有重要意义&#xff0c;同时蚯蚓也被作为评估污染物生态风险的灵敏指示者。蚯蚓肠道微生物对于蚯蚓生态功能的发挥至关重要&#xff0c;为了充分利用蚯蚓的生态和生物技术效益&#…

【自学网络安全】从零开始学习网络渗透的核心知识点,助你入门宝典

前言 上周旁听了一个大学学长组织的线上网络安全交流会&#xff0c;里边不乏充斥着各位行业大牛&#xff0c;讲的内容确实精彩&#xff0c;可能对于网络安全经验5年的人来说&#xff0c;是受益匪浅&#xff0c;欢迎程度极高&#xff0c;恨不得跳出屏幕来表示赞同&#xff0c;毕…

JVM-字节码详解

介绍 ​ 在cpu层面看来&#xff0c;计算机中所有的操作都是一个个指令的运行汇集而成的&#xff0c;java是高级语言&#xff0c;只有人类才能理解其逻辑&#xff0c;计算机是无法识别的&#xff0c;所以java代码必须要先编译成字节码文件&#xff0c;jvm才能正确识别代码转换后…

ESP32学习笔记19-I2C

21.IIC 参考文章:ESP32 的 I2C 原理 & 应用入门_esp32 i2c_25March的博客-CSDN博客 21.1概述 ESP32 有2个 I2C 控制器(也称为端口),负责处理在 I2C 总线上的通信。每个控制器都可以设置为主机或从机 所选择的频率越高,需要的上拉电阻越小(但是不要小于 1 K 欧姆)。…

【牛客刷题专栏】0x27:JZ29 顺时针打印矩阵(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转)&#xff0c;它登陆后会保存刷题记录进度&#xff0c;重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏&#xff1a;个人CSDN牛客刷题专栏。 题目来自&#xff1a;牛客/题库 / 在线编程 / 剑指offer&#xff1a; 目录 前言问…

半导体热处理设备微环境中的精密微正压控制解决方案

摘要&#xff1a;针对半导体热处理设备微环境中的微正压精密控制&#xff0c;本文分析了现有技术造成微正压控制不稳定的原因&#xff0c;提出了相应的解决方案。解决方案主要是采用绝对电容真空计替代压差计&#xff0c;采用真空低漏率的高速电动针阀和电动球阀替代气体质量流…

Flask框架之路由与蓝图的使用

路由与蓝图 路由路由概述路由的基本使用查看路由信息url_map对象命令行方式 HTTP请求方法 蓝图概述蓝图的基本使用蓝图的拆分指定蓝图的url前缀蓝图构造URL蓝图静态文件蓝图模板目录 路由 路由概述 在Flask中&#xff0c;路由用于将HTTP请求与特定的Python函数相匹配。通过定义…

使用ChatGPT辅助学习——让你的学生主动找到学习的方法!

ChatGPT就像一座巨大的金矿&#xff0c;能挖到多少金子&#xff0c;完全取决于你的思维、认知和行动力。 当大部分人还在观望&#xff0c;或者拿着ChatGPT随便玩一玩的时候。 有的人&#xff0c;已经快速把它切入垂直领域&#xff0c;开始深耕。 如果你的孩子或者学生正在上初…