Each design for a CPU has its own machine language. This is the set of instructions that the chip uses itself. So it is made up of sets of 0ís and 1ís that are binary numbers. Very hard for people to work with. Machine language looks like its just numbers. In the program segment at left the first column tells the computer where to fill memory and the hexadecimal (base 16) numbers in the second column are the values to put into memory at those locations.

Binary describes a numbering scheme in which there are only two possible values for each digit: 0 and 1. The term also refers to any digital encoding/decoding system in which there are exactly two possible states. In digital data memory, storage, processing, and communications, the 0 and 1 values are sometimes called "low" and "high," respectively.

Binary numbers look strange when they are written out directly. This is because the digits' weight increases by powers of 2, rather than by powers of 10. In a digital numeral, the digit furthest to the right is the "ones" digit; the next digit to the left is the "twos" digit; next comes the "fours" digit, then the "eights" digit, then the "16s" digit, then the "32s" digit, and so on. The decimal equivalent of a binary number can be found by summing all the digits.

Hexadecimal describes a base-16 number system. That is, it describes a numbering system containing 16 sequential numbers as base units (including 0) before adding a new position for the next number. (Note that we're using "16" here as a decimal number to explain a number that would be "10" in hexadecimal.) The hexadecimal numbers are 0-9 and then use the letters A-F. We show the equivalence of binary, decimal, and hexadecimal numbers in the table below.

Hexadecimal is a convenient way to express binary numbers in modern computers in which a byte is almost always defined as containing eight binary digits. When showing the contents of computer storage (for example, when getting a core dump of storage in order to debug a web designer new computer program or when expressing a string of text characters or a string of binary values in coding a program or HTML page), one hexadecimal digit can represent the arrangement of four binary digits. Two hexadecimal digits can represent eight binary digits, or a byte.

If you can find a picture of the APM-307 test set used to calibrate the weapons control system of the F-4e/g McDonnell Douglas Phantom II aircraft, you will find a specimen of hexadecimal language being used in practicality. It looked like a large can on wheels that was fitted to the nose of the aircraft. It was a radar broadcast test set. (it was also good for cooking chicken for lunch ... can anyone say "Amana"?)

We were using this test set, and its hexadecimal displays for test results in the year that the original "Star Wars" movie was released.