Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 246
  • Last Modified:

stream input/output: output decimal to binary on the screen

Hi,

I have a simple assignment where I have to convert 5 digits from an int array 'a'  to binary, oct,  dec, and  hex.
The oct, dec, hex are no problem, but I cannot figure out how to convert the decimal values to binary.  I know there is a simple way to do this without writing an algorithm, but I'm at a loss.  Besides, I'm not SUPPOSED to write an algorithm.
tried ios::binary too, but no luck.

code snippet of my output from the array is below followed by how its supposes to look
BTW: width8 is self-defined stream manipulator I wrote to format output to 8 spaces wide:

 for ( int i = 0; i < size; i++ ){
       cout << width8 <<  -->>binary convertion here? <--  << a[i];  //binary
                                                                                                
       cout << width8 << showbase << oct << a[i] << noshowbase;  //oct
       cout << width8 << dec << a[i];                                              //dec
       cout << width8 << uppercase << hex << a[i];                        //hex
       cout << endl;
       }
 cout << endl;



Table with the numbers in various bases
bin        oct      dec     hex
1010      012      10      A
10100    024      20      14
11110    036      30      1E
101000  050      40      28
110010  062      50      32
 
0
r3r
Asked:
r3r
  • 2
1 Solution
 
Sys_ProgCommented:
0
 
r3rAuthor Commented:
thanks all.  i appreciate it.
R
0
 
rstaveleyCommented:
The standard library also has bitset, which is nice for binary numbers, if you are OK with leading zeros:
--------8<--------
#include <iostream>
#include <iomanip>
#include <bitset>
#include <vector>

int main()
{
        const int size = 5;
        std::vector<int> a(size);
        for (int i = 0;i < size;++i)
                a[i] = 10*(i+1);
        for (int i = 0;i < size;++i)
                std::cout
                        << std::setw(8) << std::bitset<6>(a[i]) /* Six bit bitset */
                        << std::setw(8) << std::oct << std::showbase << a[i]
                        << std::setw(8) << std::hex << std::showbase << a[i]
                        << std::setw(8) << std::dec << std::showbase << a[i]
                        << '\n';
}
--------8<--------
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now