Цитата
Это даст безошибочную работу файндколора?
Это даст понимание того, что вы делаете.
Всего есть три канала: Red, Green, Blue. Каждый канал кодируется значением от 0 до 255, т.е. в шестнадцатиричном виде это будет от 0x00 до 0xFF (0x - говорит о том, что это шестнадцатиричное значение). После чего значения всех каналов собираются вместе. В пилоте порядок каналов не RGB, а BGR. Это связано с виндовым api (так работет шустрее). Т.е.:
R=0x88
G=0xAA
B=0xFF
Полчается:
0xFFAA88
После чего получившееся число предобразовывается в десятичный вид.
% отклонения (deviation) рассчитывается от значения каждого канала в отдельности. Т.е.%
R=0x88 +/- 255 / 100 * deviation
G=0xAA +/- 255 / 100 * deviation
B=0xFF +/- 255 / 100 * deviation
Очевидно, что математически это совсем не равно (для любой системы счисления):
0xFFAA88 +/- 255 / 100 * deviation
Поэтому для числа:
0x000001
погрешность 1% привидет к диапазону:
0x000000
0x020203
В десятичном виде:
от 1
до 131 073
Вполне очевидно, что без разложения на каналы 1% тут никак не получается.
Автоматизация преобразований: 
https://forum.uokit.com/index.php?showtopic=22116// Вообще 17% это очень дофига. Очень. Это +/-17%, т.е. 34% всего возможного диапазона цветов. Скорее всего имеет смысл изменить искомый цвет либо задать дипазоны для каждого канала в отдельности.