Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm bitset::flip() trong C++ STL

Phương thức bitset::flip() là phương thức tích hợp của C++ STL. Nó đảo ngược các bit của bitset gọi: tất cả 0 thành 1 và 1 thành 0 (đảo từng bit) khi không truyền tham số.

Nếu truyền tham số, flip() chỉ đảo bit thứ n (với n là số nguyên truyền vào). Ví dụ: truyền 5 → đảo bit thứ 5.

Cú pháp

bitset_name.flip(int pos)

Ví dụ minh họa

Bitset ban đầu: 011001
Sau flip() không tham số: 100110
Sau flip(6): 011000

Code ví dụ

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

int main() {
    bitset<6> bit1(string("100110"));
    bitset<10> bit2(string("0100001111"));
    
    cout << bit1 << " sau khi flip() không tham số: " 
         << bit1.flip() << endl;
    
    cout << bit2 << " sau khi flip(7): " 
         << bit2.flip(7) << endl;
    
    return 0;
}

Kết quả

100110 sau khi flip() không tham số: 011001
0100001111 sau khi flip(7): 0110001111

Các hàm liên quan

  • set() - đặt tất cả bit thành 1 hoặc bit tại pos thành 1
  • reset() - đặt tất cả bit thành 0 hoặc bit tại pos thành 0
  • operator~ - trả về bitset mới với tất cả bit đảo ngược (không thay đổi gốc)