I search the web for the meaning of troll and it says, a troll is someone who posts inflammatory off topic messages in the net.
I can assure you that is not my intention, I am just a student at UCSD who didn't quite understand my professor's lecture and I thought the FORUM is my next best source of correct information coming from the experienced programmers.
And when I post a topic sometimes I declare in the beginning that it is a homework and If you feel like not giving me a hint on my homework that I am OK with it.
Back to my question:
Anyway maybe I have to rephrase my question. can I declare an int variable and it force it to store hex even if I inputted a decimal.
I know I could do this, cin >> hex >> X andwhen I enter 30 it saves it as decimal 48
but can I do the reverse, I enter a number and it stores it as hex.
My comment was directed to @Jackson Marie (9) hence the @. I am sure cire meant the same . I did this because I believe this person was polluting you thread with bad advice / provocative comments. So just trying to help you out.
So back to your question - the computer stores numbers in binary - did you mean output a number in hex?
The comments about trolling concerned Jackson Marie, not yourself.
Numbers are not stored as hex or decimal. In fact, they're (literally) stored as binary, as one might expect of a computer. It's probably more useful to think of numbers stored as a value that is independent of any representation. For instance, I have the same number of fingers on my hands whether I choose to represent the value in hexadecimal, decimal or binary form - so too will the bit pattern of a number be the same whether you consider it in hexadecimal, decimal, or binary.
I appreciate all the hints, now I am able to go on the right direction and finished my assignment as shown below.Originally I thought if I read a character in a file I can store it in 4 different formats, decimal, hex,octal and binary. With this in mind I planned to manipulate the character to satisfy the specification and cout it. obviously I am going on the wrong direction and bottom line I hit a brick wall.
After reading your hints, I regrouped, abandoned my original idea, followed your hints and was able to go on the right direction. This is a good day because I learned something very important.
I hope you do not get tired answering my topic because, I have more coming.
FYI. If not for this FORUM I would still be in beginning C++ and from the bottom of my heart, I would like to say that I deeply appreciate all the hints that you have provided.those helped a lot.
constint MAX_CHAR_PER_LINE = 16;
constint SINGLE_SPACE = 1;
constint DOUBLE_SPACE = 2;
constint HIGHEST_SINGLE_CHAR_HEX = 0x0f;
//Display the value of each character in the file in hexadecimal format
void ListHex(ifstream &inFile)
//local variable declaration
int charFromFile, charPerLine = 0;
//converts all the character in its hex form and output it with everything align perfectly
if ((charFromFile = inFile.get()) == EOF)
//display 16 hex per line
if (charPerLine++ == MAX_CHAR_PER_LINE)
cout << '\n';
charPerLine = 1;
// if the hex is 1 character long, pad it with 1 zero and a space in front
// if the hex is 2 characters long, pad it with a space in front
cout << setfill(' ');
if (charFromFile <= HIGHEST_SINGLE_CHAR_HEX)
cout << setw(SINGLE_SPACE + 1) << '0' << charFromFile;
cout << setw(DOUBLE_SPACE + 1) << hex << charFromFile;