位运算

题目背景

题目由 daiyulong20120222 创作(me)

并由

QBW1117完善以及数据 。

题目描述

给定两个数\(x,y\) ,在给定一个位运算符号 \(c\)。

请你列出 \(x,y\) 进行 \(c\) 位运算是的算数竖式式。

注:

  1. 竖式这么列:

    • 显示出两个数的完整二进制,包括前导零。

    • 32个 '-'。

    • 显示出 \(ans\) ,包括前导零。

  2. 位运算符号可能是:

    • &

    • |

    • ^

输入格式

三个整数\(x,y,c\)同题意

输出格式

竖式结果

样例 #1

样例输入 #1

32 21 &

样例输出 #1

00000000000000000000000000100000
00000000000000000000000000010101
--------------------------------
00000000000000000000000000000000

题解

做这道题有3种方法。

方法一:进制转换(字符串)

这种方法在此不做过多的赘述,有兴趣的同学可以翻看一些luogu进制转换的题解。

不过真的是太简单啦!

方法二:位运算&状态压缩

这种方法也在此不做过多的赘述。

不过也真的是太简单啦!

·····方法三:bitset库函数

在C++中:有一个库函数 bitset

头文件:#include<bitset>

详见请查看此链接

AC code

#include <iostream>
#include <bitset> using namespace std; string performBitOperation(int x, int y, char op) {
bitset<32> binaryX(x);
bitset<32> binaryY(y);
bitset<32> result; switch (op) {
case '&':
result = binaryX & binaryY;
break;
case '|':
result = binaryX | binaryY;
break;
case '^':
result = binaryX ^ binaryY;
break;
default:
cout << "Invalid operator!" << endl;
return "";
} string binaryXStr = binaryX.to_string();
string binaryYStr = binaryY.to_string();
string resultStr = result.to_string(); string separator(32, '-'); string output = binaryXStr + "\n" + binaryYStr + "\n" + separator + "\n" + resultStr; return output;
} int main() {
int x, y;
char op; cin >> x >> y >> op; string result = performBitOperation(x, y, op);
cout << result << endl; return 0;
}

【luogu题解】T378828 位运算的更多相关文章

  1. FJUT寒假作业第二周C题解(位运算)

    题目来源:http://210.34.193.66:8080/vj/Contest.jsp?cid=161#P2 题意比较好理解.如果直接按题目要求一步一解.一定超时.作为一个懒人也不会这么暴力一个肯 ...

  2. Codeforces Round #672 (Div. 2) B. Rock and Lever题解(思维+位运算)

    题目链接 题目大意 给你一个长为n(n<=1e5)的数组,让你求有多少对a[i]和a[j] (i!=j)满足a[i]&a[j]>a[i]^a[j] 题目思路 这些有关位运算的题目肯 ...

  3. 【洛谷P2114】起床困难综合征 位运算+贪心

    题目大意:给定 N 个操作,每个操作为按位与.或.异或一个固定的数字,现在要求从 0 到 M 中任选一个数字,使得依次经过 N 个操作后的值最大. 题解:位运算有一个重要的性质是:位运算时,无进位产生 ...

  4. 【LeetCode】位运算 bit manipulation(共32题)

    [78]Subsets 给了一个 distinct 的数组,返回它所有的子集. Example: Input: nums = [,,] Output: [ [], [], [], [,,], [,], ...

  5. upc组队赛16 Winner Winner【位运算】

    Winner Winner 题目链接 题目描述 The FZU Code Carnival is a programming competetion hosted by the ACM-ICPC Tr ...

  6. 牛客小白月赛28 D.位运算之谜 (位运算)

    题意:给你两个正整数\(x\)和\(y\),求两个正整数\(a\),\(b\),使得\(a+b=x\),\(a\)&\(b\)=\(y\),如果\(a\),\(b\),输出\(a\ xor \ ...

  7. Libre 6009 「网络流 24 题」软件补丁 / Luogu 2761 软件安装问题 (最短路径,位运算)

    Libre 6009 「网络流 24 题」软件补丁 / Luogu 2761 软件安装问题 (最短路径,位运算) Description T 公司发现其研制的一个软件中有 n 个错误,随即为该软件发放 ...

  8. luogu P2114 [NOI2014]起床困难综合症 位运算 二进制

    建议去uoj那里去测,数据比较强 位运算的题目,就得一位一位的分开考虑 然后枚举初始值的最高位是0 是1 的最终攻击 (二进制内)最高位是1肯定比次位是1次次位是1次次次位是1···的大吧,显然 然后 ...

  9. 【Luogu】2114起床困难综合征(位运算贪心)

    题目链接 这题真是恶心死我了. 由于位运算每一位互不干涉,所以贪心由大到小选择每一位最优的解,但是要判断一下边界,如果选择该解使得原数>m则不能选择. 代码如下 #include<cstd ...

  10. luogu 5354 [Ynoi2017]由乃的OJ LCT+位运算

    如果做过起床困难综合征的话应该很快就能有思路,没做过那道题的话还真是挺费劲的. 我们不知道要带入的值是什么,但是我们可以知道假设带入值得当前位为 $1$ 时这一位在经过位运算后是否为 $1$. 至于这 ...

随机推荐

  1. 王道oj/problem18

    网址:略 思路:见注释:有bug:插入时1和2的结果正好相反,稍后编辑. 代码: #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#incl ...

  2. python处理类似json的文件

    前言 有些文件长得像json的键值对格式,但又不完全是.有时需要提取出其中某些值,可以先手动处理成json文件,然后用python的json模块. 示例1:每行键值对 提取其中的caseId的值 {& ...

  3. Golang之旅——内存管理

    转载放在最前 一文带你了解,虚拟内存.内存分页.分段.段页式内存管理[Golang三关-典藏版]一站式Golang内存洗髓经 | Go 技术论坛 刘丹冰Aceld感谢以上文章作者,收获满满 存储器管理 ...

  4. 轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2

    Llama 2 是 Meta 的下一代开源大语言模型.它是一系列经过预训练和微调的模型,参数范围从 70 亿到 700 亿个.Meta Llama 2 可免费用于研究和商业用途并且提供了一系列具有不同 ...

  5. 文心一言 VS 讯飞星火 VS chatgpt (94)-- 算法导论9.2 3题

    三.用go语言,给出 RANDOMIZED-SELECT的一个基于循环的版本. 文心一言: 在循环中实现 RANDOMIZED-SELECT 的一个版本可以如下所示.这个版本使用 Go 语言编写,利用 ...

  6. VOLTE:MIUI14无5G信号、通话质量差、短信收不到的原因之一

    在最近一次miui版本更新后的一段时间里,先后出现以下一些情况: 1. 在"双卡与移动网络"设置中,无论如何折腾"5G网络"开关或者"5G网络模式选择 ...

  7. Solution -「HNOI 2010」城市建设

    Description Link. 修改边权的动态 MST. Solution 讲清楚点. 修改边权的 MST,考虑对时间分治.设我们当前操作的操作区间是 \([l,r]\),直接暴力找 MST 是不 ...

  8. Record - Stirling Number / FK. & SK.

    Part. 1 Stirling Number / FK. Def. 定义 \(\begin{bmatrix}n \\ m\end{bmatrix}\) 表示将 \(n\) 个元素分成 \(m\) 个 ...

  9. Solution -「YunoOI 2016」镜中的昆虫

    Description Link. 区间推平: 区间数颜色. Solution 考虑无修的情况,我们是采用维护每个数的 \(pre\) 来做的.具体一点就是对于每一个 \(a_{i}\) 维护 \(p ...

  10. 命令行获取chrome版本的多个方法

    命令行获取chrome版本的多个方法 基于win10 测试 背景 在selenium的驱动安装中用webdriver_manager自动处理chromedriver是比较好的做法 webdriver_ ...