Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
Solved

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

Posted on 2004-03-23
Medium Priority
245 Views
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
Question by:r3r
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 2

LVL 10

Accepted Solution

Sys_Prog earned 1500 total points
ID: 10664225
0

LVL 10

Expert Comment

ID: 10664232
0

Author Comment

ID: 10664694
thanks all.  i appreciate it.
R
0

LVL 17

Expert Comment

ID: 10666072
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

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
###### Suggested Courses
Course of the Month6 days, left to enroll