日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【luogu题解】T378828 位运算

發布時間:2023/11/26 windows 37 coder
生活随笔 收集整理的這篇文章主要介紹了 【luogu题解】T378828 位运算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

位運算

題目背景

題目由 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 位运算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。