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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。