 In the book, you may have seen code like this. What are those letter and number combinations? Those are base 16 numbers, which are called hexadecimal. What's base 16? Let's take a trip back in time to grade school, where we learned about numbers with the hundreds, tens, and ones columns. 357 meant 3 times 100 plus 5 times 10 plus 7 times 1, which adds up to 357. When we got to algebra, we relabeled the column with powers of 10, which made a good analogy to powers of 2 for the binary system, base 2. In binary, the number 101 is 1 times 2 to the second plus 0 times 2 to the first plus 1 times 2 to the zero, which adds up to 5. I think you know where we're going with this, to the powers of 16. But there's something we have to consider first. In binary, we have two numerals, and once they're used up, we go to the next column, the next power of 2. In decimal, we have 10 numerals, and once they're used up, we go to the next column, the next power of 10. For base 16, we'll need 16 numerals. Rather than invent symbols for those extra numerals, we use the letters a through f, which represent 10 through 15 in decimal. That means a hexadecimal number like 13b is what we in decimal would call 1 times 16 squared, 256, plus 3 times 16 to the first, 3 times 16, plus b, which corresponds to 11, times 1, and that adds up to 315 in decimal. By the way, you read hexadecimal numbers as a series of individual digits, and we usually abbreviate hexadecimal as hex. The first number here is hex13c, not 130c. The second number is hex724, not hex724. In Java, you can put the hex letters in either upper or lower case. What's so special about 16? Why do we use that as a number base? If you have four binary digits, there are 16 possible combinations, each one of which corresponds to a hexadecimal digit. That means one byte can be expressed as two hex digits and a 16-bit unicode character as four hexadecimal digits. The unicode charts are organized in columns of 16 rows, and the code points, the numeric equivalents, are shown in hexadecimal. You always use hexadecimal notation when specifying a unicode character literal or in a string. Remember to proceed the hexadecimal with backslash u. You use hexadecimal for integers on those occasions when you need to express numbers in a form that is closer to the bit patterns. You proceed the hexadecimal digits with 0x to indicate that this is a hexadecimal number.