Okay, well a quick rundown is this:
In base 10, we count to 9 before we increment the next digit. This means 101 is the first 2 digit number, 102 is the first three digit number, et cetera. In binary (base 2), just replace the values above :D Count to 1 before you increment the next digit. Here is an example, starting at 0, we will count up to 16
If you can follow that, you are on the right track! Now in Base 16, (hexadecimal), we count to 15 before we increment the next digit. Since we have only 10 digits in our number system, we just use letters A~F for the other values. So to count to 18:
One cool thing about binary and hex is that converting between the two is super easy. Since 16=2^4, each hex digit is 4 binary digits!
Once you really understand binary and hex, reading assembly code will be much easier. In z80 assembly (the stuff for the calcs), you typically use 8- or 16-bit values (which means in binary, 8 or 16-digit values). Because of this and bitwise logic (which I did not at all explain here, so don't worry), you can make some very hacky codes. You said you like bending codes, right? >:D