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

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


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

หากพารามิเตอร์ถูกส่งผ่าน วิธีการ flip จะพลิกเฉพาะบิตที่ n สำหรับจำนวนเต็ม n ที่ส่งผ่าน ตัวอย่างเช่น หากส่งผ่าน 5 วิธีพลิกจะพลิกบิตที่ 5 ของบิตเซตที่เรียก

ไวยากรณ์

bitset_name.flip(int pos)

ตัวอย่าง

Initial bitset: 011001

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

หลังจากใช้ฟังก์ชันเบต้ากับ 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