|This is the base sixteen number system, often simply called hex. In hex, instead of numbers going from 0 to 9 as we are most accustomed to in base ten, they go from 0 to 9 and then proceed to continue on from A through F, making a total of sixteen digit values rather than ten — hence base sixteen rather than base ten:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
That's a count from zero to fifteen if we think of it in base ten. Thinking a little more about base ten, when you reach the highest digit available (9), then you naturally get a one in the next column for the next value. In base ten, 10 means ten, the same as the name of the base; it makes sense, because ten comes after nine.
In base sixteen, when you reach fifteen with the highest digit available (F), you still get a one in the next column for the next value, but now 10 means sixteen, again the same as the number of the base. And again, it makes sense, because sixteen comes after fifteen. It's just counting, same as is done in base ten, but simply with sixteen values to count with instead of ten.
All number bases work this way. In every number base, the digits available in each column go up to, but do not reach, the number of the base, and 10 is always the same value as the name of the base itself. So for base two, 10 equals two; for base eight, 10 equals eight, for base ten, 10 equals ten, for base sixteen, 10 equals sixteen, and so on.
So what happens next? The second digit, again like base ten (and every other base), counts up using the available digits, 0 through F. The value of each column is times the number of the base larger than the column to its right; so the second column in hexadecimal is sixteen times the first column (exactly sixteen), the third column values are 16 times that (256), and so forth. Base ten and all other bases work the same way: first column is ones, second column is ten times that (10), third column is ten times that (100), and so on. Once you grasp this idea, you can understand any numeric base.
Hexadecimal is a very convenient numbering system for working with computers, as two hex digits can represent numbers from zero to two hundred and fifty-five. That range is exactly the range an 8-bit byte of memory can represent. Likewise, four hex digits fit perfectly into a 16-bit, two-byte number, eight hex digits fit perfectly into a 32-bit, four-byte number, and so forth.
As hex specifically relates to iToolBox in the context of graphics colors, two hex digits represent the full range of each of the RGB components in a 24-bit (3-byte) color space. Four hex digits represent the full range of each of the RGB components in a 48-bit (6-byte) color space, which is what iToolBox works with.
Conversion from an 8-bit color to a 16-bit color is done by duplicating the 8-bit value, as shown here:
00 = 0000
07 = 0707
10 = 1010
D3 = D3D3
FF = FFFF
Transparency works exactly the same way.
You can learn more about hexadecimal here.