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