A common misconception is that computers understand code. This is not true. Computers only understand machine code, that is, code that is assembled for the architecture of the computer's processor. Some programs come in both 32-bit and 64-bit versions, and those using a 32-bit operating system cannot run 64-bit programs. Compilers turn the code that the programmer writes into machine code.