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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。