📜  C++ STL中的bitset :: flip()

📅  最后修改于: 2021-05-30 15:53:32             🧑  作者: Mango

bitset :: flip()是C++中的内置STL,用于翻转位。如果该函数未传递任何参数,则它将所有位值翻转,将零转换为1,将零转换为零。如果传递了参数位置,则仅翻转该位置的位。

句法:

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 
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 ";
    cout << b1.flip() << endl;
  
    cout << b2 << " after applying flip() function returns ";
    cout << b2.flip();
  
    return 0;
}
输出:
0011 after applying flip() function returns 1100
101101 after applying flip() function returns 010010

程式2:

// CPP program to illustrate the
// bitset::flip() function
// when parameter is passed
  
#include 
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 ";
    cout << b1.flip(3) << endl;
  
    cout << b2 << " after applying flip(6) function returns ";
    cout << b2.flip(6);
  
    return 0;
}
输出:
0100 after applying flip(3) function returns 1100
1100100 after applying flip(6) function returns 0100100
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”