Well Binary and Hex are basicly ways of counting just like we count using Decimal.
With Decimal we have 10 numbers we can use 1 2 3 4 5 6 7 8 9 and 0 and when we run out of numbers but want to add 1 more we raise the number of the column to the left by 1 and go back to 0 ie 07 08 09 10. The columns all have names and you'll have learnt them in primary school but here they are again Units, Tens, Hundreds, Thousands... and so on. If you think about it though that is back to front because if you read the number 128 the Units colunm is the right most column so really it goes Thousands, Hundreds, Tens, Units and this is pretty important when you work with Binary. Heres a little diagram:
Hun......Tens......Units
...1........2...........8
With Binary there are only 2 numbers that can be used, 1 and 0, the reason is to do with chips in the computer being 'on' or 'off' and that's really as much as you need to know as to why. Counting is done just the same as in Decimal ie when you run out of numbers you raise the number in the left column by 1 and go back to 0 but since the only numbers you have are 1 and 0 things soon get complicated as the following example shows:
1,2,3,4 in Decimal converted to Binary is 01,10,11,100. (IMPORTANT - This is not read as one,ten,eleven,one hundred it is read as zero one, one zero, one one, one zero zero remember all that exists in Binary are one's and zero's)
As you can see were already in the 3rd column to the left and we've only counted to 4, what is we want to convert Decimal 128 to Binary 128! Well actually it's not as hard as it sounds thanks to the way Binary happens to work. Just like Decimal numbers have columns so do Binary the difference is Binary columns don't have names like Units Tens Hundreds... instead they just use the Decimal number they represent so this means that the columns go 1,2,4,8,16,32... and so on. HOWEVER remember how in Decimal the list was back to front? Same story here. And it is for this reason that Binary numbers are read right to left The following is Binary 128 with the column titles above:
128...64...32...16...8...4...2...1
..1....0......0.....0....0...0...0..0
Without the column titles or the dots for formatting that is 10000000. But what is you want to show a number that doesn't fit exactly? Well you just put a 1 in all the numbers you use to get that number so Decimal 93 is Binary:
128...64...32...16...8...4...2...1
..0.....1.....0.....1....1...1...0...1 which is 01011101
That's not too bad you may be thinking but remember we are only working with 8 columns and 1 piece of information, in programming every piece of information is stored like this. To give you an idea of how hard it would be to read a programme in Binary consider the following. Certain numbers are used to store letters (you know them A,B,C,D....) typically A is stored as 65 B as 66, C as 67... and so on. This would make my name R Y A N = 82 89 65 78 but of course in Binary we only have 1's and 0's so that makes 82 89 65 78 = 01010010 01011001 01000001 01001110 and if we remove the spaces since Binary doesn't have spaces it just has 1's and 0's we have 01010010010110010100000101001110 and that is just for my name! Imagin the line "Chester has gained a level and has been promoted to the class of Knight!" and how it would look in Binary.
So why don't we just work in Decimal and have something convert it into Binary? Well the programmers of yester-year thought of that and went one better. You see Decimal doesn't fit very well with Binary if you think about the colomns:
Decimal.1000s......100s...........10s........1s
Binary.......256.128......64.32.16......8.4.2.1
Hence Hexadecimal (aka Hex) was created. Unlike Decimal that only has 10 numbers (0123456789) it can use before having to add one to the left column or Binary that only has 2 (01) Hex has 16. Of course there aren't 16 single digit numbers we can use to show this hence the letters A-F are used so Decimal 0-16 converted to Hex is 0123456789ABCDEF. And just like any other counting system once you run out of 'numbers' you add one to the left column and start back at 0 so after F is 10. THAT IS NOT TEN! Smack yourself if you said ten when you read that because it is not, it is one zero. Rember just like Binary you can't say ten because Decimal 10 is Hex A and Hex 10 (One Zero) is Decimal 16 so if you say ten when talking in Hex it will lead to confusion hence always read out the numbers (and letters) individually.
So why is Hex better than Decimal when converting Binary? Well now instead of the highest 2 column number being Decimal 99 or Binary 11 (Decimal 3) it is now Hex FF (Decimal 255) but perhaps more importantly is how well their columns fit together:
Hex.........256................................16.............1
Binary.....256.....128.....64.....32.....16.....8.4.2.1
Which makes everything work nicely when you get to changing things. Consider this: my name (R Y A N) in Binary is 01010010010110010100000101001110 which in Hex is 5259414E. If I was to change the second letter of my name from Y to I that would mean my Binary second letter would change from 01011001 to 01001001 and Hex from 59 to 49. Looking at the two it is clear changing Hex is easier and that is why we use Hexeditors.
And that is what your Hexeditor does, it converts the Binary into Hex so you can easily make changes and then if you choose to save your changes it converts the Hex back to Binary so that the programme can be run. What makes things even easier is that a lot of Hex editors such as Hex Workshop have a split screen display that shows the Hex in one window and the proper text in another so you can search for terms like "RYAN" and easily change them in plain text and have the Hex update itself.
Simple.