And instead of "4", it writes 0100.

I'm not here to write a full guide to binary, so here's the Wikipedia link. Go learn yourself. Oh, and binary can be translated really easily to hexadecimal, so that's why addresses are those strings of numbers / letters.

So basically, we have a way to tell the computer to do things in binary. If you're interested in why binary is so good for computers, you can read about transistors right here. The tl;dr is that hardware does on (1) and off (0) real well, but not much in-between. This basically translates to how software works because it has to be physically represented on hardware to do... well, to exist, really. (For more fun, read about how computers handle decimal numbers here!)

We also need a way to tell computers how to remember things. There's no point in having a command like "write the result of the last equation" if the computer doesn't remember what that was, right?

So let's update what our 0000 command means: Read the equation and put the result of it into register A. A register is just a chunk of memory.

Now, we can take the same "program" as before...