using a bit field : Operator « Language « C++






using a bit field

  
#include <iostream>
#include <iomanip>
using namespace std;
struct BitCard {
   unsigned face : 4;
   unsigned suit : 2;
   unsigned color : 1;
};

void fillDeck( BitCard * );
void deal( BitCard * );

int main()
{
   BitCard deck[ 52 ];

   fillDeck( deck );
   deal( deck );
   return 0;
}

void fillDeck( BitCard *wDeck )
{
   for ( int i = 0; i <= 51; i++ ) {
      wDeck[ i ].face = i % 13;
      wDeck[ i ].suit = i / 13;
      wDeck[ i ].color = i / 26;
   }
}

// Output cards in two column format. Cards 0-25 subscripted 
// with k1 (column 1). Cards 26-51 subscripted k2 in (column 2.)
void deal( BitCard *wDeck )
{
   for ( int k1 = 0, k2 = k1 + 26; k1 <= 25; k1++, k2++ ) {
      cout << "Card:" << setw( 3 ) << wDeck[ k1 ].face 
           << "  Suit:" << setw( 2 ) << wDeck[ k1 ].suit 
           << "  Color:" << setw( 2 ) << wDeck[ k1 ].color 
           << "   " << "Card:" << setw( 3 ) << wDeck[ k2 ].face
           << "  Suit:" << setw( 2 ) << wDeck[ k2 ].suit 
           << "  Color:" << setw( 2 ) << wDeck[ k2 ].color 
           << endl;
   }
}
  
    
  








Related examples in the same category

1.Demonstrate the modulus operator. Demonstrate the modulus operator.
2.Printing an unsigned integer in bits
3.Using the bitwise AND, bitwise inclusive OR, bitwise exclusive OR, and bitwise complement operators.
4.Using the bitwise shift operators
5.demonstrates remainder operator
6.Demonstrate the relational and logical operators. Demonstrate the relational and logical operators.
7.Match mask with bit operator
8. Create an XOR using the C++ logical operators.   Create an XOR using the C++ logical operators.
9.Define operator a custom class: =, +Define operator a custom class: =, +
10.Logical Not operator, combined with the logical And operatorLogical Not operator, combined with the logical And operator
11.Logical Or operatorLogical Or operator
12.conditional Operator '?'conditional Operator '?'
13.Dot (.) operator and operator operatorDot (.) operator and operator operator
14.Operator in C++Operator in C++
15.Compound assignmentsCompound assignments
16.arithmetic assignment operators
17.increment operator
18.Demonstrates built-in arithmetic operators