1

0 ~ 130 のビット パターンを出力しようとしていますが、どういうわけか、対応するビット パターンが . コードは次のようになります。助言がありますか?

include <iostream>
using namespace std;

int isSet( unsigned int x, int i );
string bitsetfn(unsigned x, int nbits);

int main() {
  for (int counter = 0; counter <=130; counter++){
    cout << counter << " is: " << bitsetfn(counter,16)<<endl;
  }
  return 0;
}

string bitsetfn(unsigned x, int nbits){
  string s=" ";
  for(int j=0; j<nbits; j++) {    
    s+=isSet(x,j);
  }
  return s;
}

int isSet( unsigned int x, int i ) {
  return ((x >> i) & 1);
}

これは、出力がどのように見えるかです...

0 is: 0000000000000000 
1 is: 0000000000000001 
2 is: 0000000000000010 
3 is: 0000000000000011 
4 is: 0000000000000100 
5 is: 0000000000000101 
6 is: 0000000000000110 
7 is: 0000000000000111 
8 is: 0000000000001000 
9 is: 0000000000001001
10 is:0000000000001010 
11 is: 0000000000001011
4

1 に答える 1