Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Binary matrix

  1. Apr 30, 2007 #1
    I want to build a binary matrix (with 1 and 0 entries) with all possible combinations, say for example if n is the number of entries of one row of the matrix, then 2^n is the total number of different entries in the matrix.

    For instance, for n=3, 2^n = 8, so we would have the following matrix
    [ 1 0 0
    0 1 0
    0 0 1
    1 1 0
    1 0 1
    0 1 1
    1 1 1
    0 0 0 ]

    I am writing a C++ code but I have not figured out how to make it. Any suggestions?
     
    Last edited by a moderator: May 2, 2007
  2. jcsd
  3. May 1, 2007 #2
    Do you plan to go beyond n = 32? If so, I don't think the project is practical. If not, then you can simply loop through the integers from 0 to (2^n - 1) and print out their bits. I haven't tried this code, but it might work. If the order of the lines matters, then you can manipulate things as needed.

    Code (Text):

    // print the bit patterns for the first 2^n integers
    for (int wRow = 0; wRow < (2^n); ++wRow)
    {
      // make a copy of the row number
      int wBitMap = wRow;

      // for each bit
      for (int wBit = 0; wBit < n; ++wBit)
      {
        // display the leftmost bit along with a space character
        cout << wBitMap & 1 << " ";
        // and shift a new bit into place
        wBitMap /= 2;
      }
      cout << endl;
    }
     
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Binary matrix
  1. Binary tree (Replies: 5)

  2. MIPS Decimal to binary (Replies: 3)

Loading...