Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

bitset::flip() ใน C++ STL


เมธอด bitset::flip() เป็นเมธอดในตัวของ C++ STL (Standard Template Library) มันกลับค่าบิตของ bitset ที่เรียกใช้ เมธอดนี้จะกลับ 0 ทั้งหมดเป็น 1 และ 1 ทั้งหมดเป็น 0 ซึ่งหมายถึงการกลับค่าบิตทุกตัวของ bitset ที่เรียกใช้ เมื่อไม่มีการส่งพารามิเตอร์

หากมีการส่งพารามิเตอร์ เมธอด flip จะกลับค่าบิตที่ n เท่านั้น สำหรับจำนวนเต็ม n ที่ส่งเข้ามา ตัวอย่างเช่น หากส่ง 5 จะกลับค่าบิตที่ 5 ของ bitset ที่เรียกใช้

ไวยากรณ์

bitset_name.flip(int pos)

ตัวอย่าง

Initial bitset: 011001

หลังจากใช้ฟังก์ชัน flip โดยไม่ส่งพารามิเตอร์: 100110

หลังจากใช้ฟังก์ชัน flip พร้อมพารามิเตอร์ 6: 011000

ตัวอย่างโค้ด

#include <bits/stdc++.h>
using namespace std;

int main() {
    bitset<6> bit1(string("100110"));
    bitset<10> bit2(string("0100001111"));
    cout << bit1 << " after applying flip() function with nothing passed as parameter returns " << bit1.flip() << endl;
    cout << bit2 << " after applying flip() function with 7 passed as parameter returns " << bit2.flip(7);
    return 0;
}

ผลลัพธ์

100110 after applying flip() function with nothing passed as parameter returns 011001
0100001111 after applying flip() function with 7 passed as parameter returns 0110001111