Can anyone help?

Does anyone know of a simple peice of code in c/c++ that will allow me to convert ASCII characters into their relevent binary code and back again?

Cheers.

keir.whitlock
0
Newbie Poster

Can anyone help?

Does anyone know of a simple peice of code in c/c++ that will allow me to convert ASCII characters into their relevent binary code and back again?

Cheers.

Jump to PostCan anyone help?

Does anyone know of a simple peice of code in c/c++ that will allow me to convert ASCII characters into their relevent binary code and back again?

Cheers.

well if you know how to get the binary equvilent for a number, take the ascii char and assign …

BountyX
7
Posting Whiz in Training

Can anyone help?

Cheers.

well if you know how to get the binary equvilent for a number, take the ascii char and assign it to an int to get an interget value then convert that to binary, or use the atoi() method and convert the result from that.

to do the reverse, if you used the assigning tactic, take the binary, and get the char equvilent by assigning the interger value to the char. if you used the atoi method, just take the binary convert it to an int, and use the itoa mehtod

check out this site:

http://nickciske.com/tools/binary.php

Dani
3,089
The Queen of DaniWeb
Administrator
Featured Poster
Premium Member

To continue where BountyX left off, to convert from integer to binary, use what I call the "calculating change" method - because it reminds me of one of the first C++ programs I learned was given 200 cents, calculate the equivalent in the smallest number of coins.

i.e. is number larger than 128, if yes, then a 1 ... is what is left larger than 64, if no, then a 0 ... is what is left larger than 32 ... and, well, you get the idea ;)

infamous
26
Junior Poster in Training

use the & and << operators. remember that a character is just a sequence of bits. u cant test for each bit and output the result.

```
int main()
{
char x = 'a';
int y;
// the value of 'a' in hex is 0x61, or 97 decimal
// in binary, that would be: 0 1 1 0 0 0 0 1
// or 64 + 32 + 1, or 2^7 + 2^6 + 2^0
//
//loop for number of bits in a character
//this will print out bits in reverse order
//least significant bit first
for(y = 0; y < sizeof(char) * 8; y++)
printf("%c ", ( x & (1 << y) ) ? '1' : '0' );
puts("");
return 0;
}
```

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.

Broken Link

**You're trying to visit a URL that doesn't currently exist on the web.**
Most likely, a member posted a link a long time ago to a web page that has since been removed.
It's also possible that there was a typo when posting the URL.
We redirect you to this notice instead of stripping out the link to preserve the integrity of the post.