Hey everyone,
I just recently found out some pretty neat information about binary and hexadecimal. I would like to

share my new found knowledge with the AO community. This information I am about to give you is coming

from my new found knowledge. I used the book Sam's Teach Yourself C++ in 21 Days as a reference.

First, in order to understand binary and hexadecimal, you must think of numbers, not as numbers, but as

ideas. To help you understand what I mean, take the number 3 for example. The number three is an idea,

while the numeral 3 is a symbol used to represent the number three. I am sure you know what I mean when I

write ||| and III. Now that you think of numbers as ideas, we can change the way you see them.

The numberal 15 is consisted of two numbers, 1 and 5. 1 meaning one set of tens, and 5 meaning five sets

of ones. In base 10, you use the numerals 0,1,2,3,4,5,6,7,8,9. When you get to ten, you write 10. This

means 1 set of tens and 0 sets of ones.

Some basic rules can be made from this:
1. Base 10 uses the digits 0-9
2. Each column are powers of ten.

Column: 4 3 2 1
Power: 10^3 10^2 10^1 10^0
Value: 1000 100 10 1

So if you wanted to find the number 124, you would take 124/100=1 with a Remainder of 24. Now you have a

1 in the third column. Then 24/10=2 with a Remainder of 4, so you would have a 2 in the second column.

Last, take 4/1=4. Then you put all of the numbers to get 124.

Binary
Base 2 is the ultimate extension of this idea. There are only two different digits: 0 and 1.

Column: 8 7 6 5 4 3 2 1
Power: 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
Value: 128 64 32 16 8 4 2 1

*Note: Dont these numbers look familiar, maybe you have seen then while buying RAM?

Ok, so lets convert the number 87 into binary.
87/128 = 0. Put a 0 in column eight.
87/64 = 1 with a Remainder of 23. Put a 1 in column seven.
23/32 = 0. Put a 0 in column six.
23/16 = 1 with a Remainder of 7. Put a 1 in column five.
7/8 = 0. A 0 in column four.
7/4 = 1 with a Remainder of 3. Put a 1 in column three.
3/2 = 1 with a Remainder of 1. Put a 1 in column two.
1/1 = 1, so put a 1 in the column one.

When you write this out in binary, the columns go 87654321, so 87 in binary would be 01010111. Pretty

neat, huh!

Since binary is very hard to understand and slow to read, we started looking for a simpler way to

represent the same values. It turns out that it is very simple to translate base 2 to base 16, or

hexidecimal. In base 16, there are sixteen numerals: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E and F. A would be the

same as ten in base 10, as F would be the same as fifteen in base 10.

Column: 4 3 2 1
Power: 16^3 16^2 16^1 16^0
Value: 4096 256 16 1

To translate hexadecimal to base 10, you can multiply. Lets take F8C.
F*256 (becuz F is in the third column) = 15*256 = 3840
8*16 = 128
C*1 (becuz C is in the first column) = 12*1 = 12
F8C = 3980

Now lets translate FC from hex into binary. Lets translate hex into base 10, and then base 10 into

binary.

F*16 = 15*16 = 240
C*1 = 12*1 = 12
FC = 252

To translate 252 from base 10 into binary, you need the chart:

Column: 8 7 6 5 4 3 2 1
Power: 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
Value: 128 64 32 16 8 4 2 1

252/128 = 1 with a Remainder of 124. Put a 1 in column eight.
124/64 = 1 with a Remainder of 60. Put a 1 in column seven.
60/32 = 1 with a Remainder of 28. Put a 1 in column six.
28/16 = 1 with a Remainder of 12. Put a 1 in column five.
12/8 = 1 with a Remainder of 4. Put a 1 in column four.
4/4 = 1 with a Remainder of 0. Put a 1 in column three.
Becuz the Remainder is 0, there is nothing left, and the last two digits are 0's
FC = 252 = 11111100

Now for the trick that makes base 2 and base 16 work together so nicely.
If you treat this number as two sets of four digits, you have 1111 1100.
Take the left set and translate it into base 10. 1111 = 15. Translate 15 into hex and you get F.
Take the right set and translate it into base 10. 1100 = 12. Translate 12 into hex and you get C.
1111 1100
F C

Putting the two hex numbers together is FC. In binary it is 11111100 and in base 10 it is 252. This trick

always works. You will find out that alot of programmers use hex frequently in advanced programming,

although you can work effectively in programming for a long time without using any of this.

I hope that some of you will learn something, as I have. Any errors I missed feel free to correct.

-Ep

2. Good lord!

Do you people not know how to search? There have already been SEVERAL tutorials posted on the various numbering systems and how to convert between them. I suggest you have someone delete this because it's rather irritating to see the same stuff posted again and again. Do a search before you post something in the future.

3. HTRegz does have a point, but come on peoples, he is a AO newbie and this is his first tutorial. Anyways, although tuts like this one have been posted multipule times before, it was a good tutorial and i feel like it got the message accross...next time though, do a search and see if people have already written about what you are planning on writing about...also, good job when it comes to siteing sources, most newbies forget to do that

4. Originally posted here by White_Eskimo
HTRegz does have a point, but come on peoples, he is a AO newbie and this is his first tutorial. Anyways, although tuts like this one have been posted multipule times before, it was a good tutorial and i feel like it got the message accross...next time though, do a search and see if people have already written about what you are planning on writing about...also, good job when it comes to siteing sources, most newbies forget to do that
Even if he is stay an AO newbie from lack of posts, he has been here since feb. which is nearly as long as I've been here. That's plenty of time to learn the rules and read the FAQs... The fact that it's his first tutorial has nothing to do with it, he should have read and looked before putting it up.. regardless.

5. Yeah I think the Guy got the point. Let him mark it up as a learning Experience

6. Thanks to those of you who gave me positive antipoints, and to the one and only one who has ever giving me negitive antipoints, thanks alot.
I would like to say, That after I read the section on in my book on Binary and Hex, I came to the computer and started this tut. When I finished it I posted it right on the site. No I didnt do a search. Maybe I should have, but just now I did do a search and look what I found.

http://www.antionline.com/search.php...der=descending

That is all. I type in the search window "Binary OR Hexadecimal OR Hex" and that is all I found in the tut. forum. Maybe I am not using the search engine right. If I am using it wrong, I am sorry. Otherwise, back off man.

-Ep

7. AO search isn't the best, I agree, best way to look is to go to the tutorials forum and actually browse what's been posted. Time consuming, I know, but it does give you a good idea of what people here have to offer. I would have personally written a few tutorials a long time ago, but everything I would have written has already been done and I hate redundancy. It was a good tut, though.

~edit~ As a side note, it is a pain having to browse through all of the tuts, but if you read through them, you might see something that they have missed or didn't present as clearly as you might have been able too on the topic. . . then when you write your tut, you have a solid reason and we all benefit from your knowledge.

8. If I may suggest, for yourself and others to check Negative's Tutorial Index Page. It lists all the tutorials up to June of this year (Neg, might be worthwhile to update.. .. ). Simple browser find option will show you which tutorials exist with similar topics.

And with that.. *CLOSED*

9. It's been updated, MsMittens

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•