当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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