Computer >> Máy Tính >  >> Lập trình >> C ++

bitset ::flip () trong C ++ STL

Phương thức bitset flip () là một phương thức có sẵn của C ++ STL (Thư viện mẫu chuẩn). Nó lật các bit của bộ bit đang gọi. Phương thức này chuyển tất cả 0 thành 1 và tất cả 1 thành 0, có nghĩa là nó đảo ngược từng bit của tập bit đang gọi khi không có tham số nào được truyền.

Nếu một tham số được truyền, phương thức flip sẽ chỉ lật bit thứ n cho số nguyên n được truyền vào. Ví dụ:nếu 5 được truyền thì phương thức lật sẽ lật bit thứ 5 của tập bit đang gọi.

Cú pháp

bitset_name.flip(int pos)

Mẫu

Initial bitset: 011001

Sau khi áp dụng chức năng lật các bit không có tham số:100110

Sau khi áp dụng chức năng Beta với 6:011000

Ví dụ

#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;
}

Đầu ra

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