當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ bitset::flip()用法及代碼示例


bitset::flip()是C++中的內置 STL,用於翻轉位。如果未在函數中傳遞任何參數,則它將翻轉所有位值,將零轉換為一,並將一轉換為零。如果傳遞了參數位置,則僅翻轉該位置的位。

用法:

bitset_name.flip(int pos)

參數:該函數接受非強製性的參數pos。如果傳遞了參數pos,則僅翻轉索引pos處的位(索引pos從右開始計算)。如果未傳遞任何參數,它將翻轉所有位值,將零轉換為1,並將1轉換為零。


返回值:該函數根據是否傳遞的參數翻轉所有位值,並返回該數字的新二進製表示形式。

以下示例程序旨在說明bitset::flip()函數。

程序1:

// CPP program to illustrate the 
// bitset::flip() function 
// when no parameter is passed 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
    // Initialization of bitset 
    bitset<4> b1(string("1100")); 
    bitset<6> b2(string("010010")); 
  
    // Printing the bitset after flipping the bits 
    cout << b1 << " after applying flip() function returns "
         << b1.flip() << endl; 
  
    cout << b2 << " after applying flip() function returns "
         << b2.flip(); 
  
    return 0; 
}
輸出:
0011 after applying flip() function returns 0011
101101 after applying flip() function returns 101101

程序2:

// CPP program to illustrate the 
// bitset::flip() function 
// when parameter is passed 
  
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    // Initialization of bitset 
    bitset<4> b1(string("1100")); 
    bitset<7> b2(string("0100100")); 
  
    // Printing the bitset after flipping the bits 
    cout << b1 << " after applying flip(3) function returns "
         << b1.flip(3) << endl; 
  
    cout << b2 << " after applying flip(6) function returns "
         << b2.flip(6); 
  
    return 0; 
}
輸出:
0100 after applying flip(3) function returns 0100
1100100 after applying flip(6) function returns 1100100


相關用法


注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 bitset::flip() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。