Understand Hexadecimal

Hexadecimal notation (base sixteen) is used throughout the Web and computer systems to indicate values. One good example is the notation for Add Color to Your Personal wikiHow Page. Reading and using hexadecimal takes some practice, but the basic concept is no more difficult to understand than the ordinary decimal (base ten) system you've been using all your life.

Steps

Understanding the Concept of Hexadecimal

  1. Learn what hexadecimal is. Just like the decimal number system uses ten different symbols to denote values from Zero to Nine, the hexadecimal number system uses sixteen different symbols to denote values from Zero to Fifteen. Any number can be written in either system. Here's how to start counting in hexadecimal:
    • zero through fifteen: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
    • sixteen through thirty-two: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20
  2. Learn how to write bases. The ten symbols used in the decimal number system form the base of the decimal number system. Similarly, the sixteen symbols used in the hexadecimal number system form the base of the hexadecimal number system. Whenever it's unclear which base is being used, subscript numbers are added to show the base. For example, 10010 is "100 in base 10" and 10016 is "100 in base 16" (which equals 409610).
    • Another term for "base" is "radix" (pluralized "radixes" or "radices").
  3. Understand place values in decimal. We can understand long numbers written in base 10 without even pausing to think, but that's only because we've had a lot of practice. We know automatically that "583410" means 5x103 + 8x102 + 3x101 + 4x100. Each digit in a multi-digit number has its own place value. Here are the place values in decimal, from right to left:
    • 10010 = 1
    • 10110 = 1010
    • 102 = 10x10 = 100
    • 103 = 10x10x10 = 1000
    • 104 = 10x10x10x10 = 10000
    • 105 = 10x10x10x10x10 = 100000 & so on.
  4. Learn the hexadecimal place values. Since hexadecimal is base sixteen, the place values are based on powers of sixteen, not powers of ten. Here are the powers of sixteen, written in decimal.
    • 16010 = 1
    • 16110 = 1610
    • 162=16x16=256
    • 163=16x16x16=4096
    • 164=16x16x16x16=65536
    • 165=16x16x16x16x16=1048576 & so on.
    • If we write these in hexadecimal, these would instead be written as 1016, 100, 1000, etc.
  5. Convert from hexadecimal to decimal. Converting between two bases is a good way to become familiar with how each system works. Here's how to convert from any number in hexadecimal to the same number written in decimal:
    • Write out your hexadecimal number: 15B3016
    • Write each digit out as a decimal multiplication problem, using the place value in the chart above: 15B30 = (1 x 6553610) + (5 x 409610) + (B x 25610) + (3 x 1610) + (0 x 1)
    • Convert non-decimal symbols into decimal numbers. In our example, B = 1110, so that digit can be converted to 1110 x 25610
    • Solve the problem. Use a calculator or work it out by hand, and you'll get the answer in decimal. 15B30 = 65536 + 20480 + 2816 + 48 + 0 = 8888010

Understanding Hexadecimal Color Systems

  1. Understand how colors on a computer screen are determined. All colors on a computer screen are determined by three values: red, green, and blue. All colors of light can be created by combining these three types of light in different proportions.[1] On a computer screen, red, green, and blue can each be assigned any value from 0 to 255 (for a total of 256 possible values).
    • This doesn't match the "primary" colors you learned in school, because that color system is based on physical pigment (like paint), not light. The paint system is sometimes called "subtractive color system" and the light system (the rgb system described here) "additive."[2]
  2. Learn why hexadecimal is used for colors. HTML uses hexadecimal to describe colors. This is convenient, since a two-digit hexadecimal number can communicate exactly 25610 possible values. This isn't a coincidence; the number 25610 is due to limitations of old hardware, which could only handle 1000000002 colors, or 25610. Because 24 = 1610, any binary system can be easily converted to a hexadecimal system with ¼ as many digits.
    • The subscript numbers tell you which base the numbers is written in. Base2 is binary, base10 is ordinary decimal, and base16 is hexadecimal.
  3. Understand how the system works. The hexadecimal color system is easy to understand, once you know how it works. The first two digits are the red value, the next two are the green value, and the last two are the blue value. Here are some examples:
    • #000000 is black, while #FFFFFF is white.
    • Any color with equal r, g, and b values (besides black and white) is a shade of grey, such as #121212, #5A5A5A, or #C0C0C0
    • #003000 is a very dark green. #003F00 is barely any lighter (you've only added F, or 1610 green), but #00FF00 is the brightest possible green (adding an additional C0, or 19210).
    • More complex colors are created by using all three types of light. Try to guess #7FFFD4, #8A2BE2, or #A0522D.

Thinking in Hexadecimal

  1. Teach yourself to read hexadecimal intuitively. Use the examples below as "milestones" to help you estimate the size of a hexadecimal number. This will give you a more intuitive understanding of hexadecimal, and let you read hexadecimal numbers without laboriously converting to decimal every time. As you'll see, one advantage to hexadecimal is that the number of digits doesn't increase nearly as fast as it does in decimal:
    • Humans have A fingers, or 1416 if you count the toes too. (Remember, the subscript 16 means a number is written in base sixteen.)
    • In a residential area, drive below 1916 miles per hour (or 2816 kilometers per hour).
    • A typical highway driving speed is 3C mph (or 6416 kph).
    • Water boils at D4 ºFahrenheit (6416 º Celsius).
    • The median U.S. income is roughly C350 dollars a year.
    • The population of the world is over 1A0,000,000.
  2. Learn hexadecimal addition. You can do hexadecimal addition problems without ever converting to another system. It does take some mental effort and practice to remember the new rules. Here are a few methods and tips:
    • Count up one by one, using hexadecimal digits. For instance to solve 7+5 in hex, count 7, 8, 9, A, B, C.
    • Learn the addition tables. A much faster method is to memorize the hexadecimal addition tables, which you can practice with an online quiz.[3] Once you know that A + 7 = 1116, you don't have to laboriously count it out any more.
    • Carry the one when needed. If your addition gets you past F, you "carry the one" as you would in a normal addition problem. For example, A+5 = F, A+6 = 1016, A+7 = 1116, and so on. Similarly, 3A+6 = 4016, 3A+7 = 4116, etc.
  3. Learn hexadecimal multiplication. Just like regular multiplication, the best way to become competent at hexadecimal multiplication is to memorize the multiplication tables. Here's the hex "6 times table" as an example (all numbers are hexadecimal):
    • 6 x 1 = 6
    • 6 x 2 = C
    • 6 x 3 = 12
    • 6 x 4 = 18
    • 6 x 5 = 1E
    • 6 x 6 = 24
    • 6 x 7 = 2A
    • 6 x 8 = 30
    • 6 x 9 = 36
    • 6 x A = 3C
    • 6 x B = 42
    • 6 x C = 48
    • 6 x D = 4E
    • 6 x E = 54
    • 6 x F = 5A

Tips

  • You can use an online base conversion calculator to convert between binary, decimal, and hexadecimal.
  • Any binary number can be easily represented in hexadecimal. Divide the binary number into four-digit sections (adding initial 0s if necessary), then replace each section with the equivalent hexadecimal digit. For example, 00002 = 016, 00012 = 116... all the way up to 11112 = F16.[4]
  • Computers actually use the "complement" method to add and subtract numbers (in hexadecimal or any other base), not the "carrying" method we're used to. The complement method is not a very useful method for humans, but if you program calculating software, you should learn it to make your program more efficient.



Related Articles

Sources and Citations