что хуже, потратить 51 байт или дополнительно поделить по модулю?
Привет всем! подскажите, что хуже, потратить 51 байт или дополнительно поделить по модулю?
Есть минипрограмма, критична память и скорость. 3 варианта решения:
Код:
// 1)
// при правильном аргументе за границы массива не выйдет
static unsigned char _bin_selector[70] = ...
return __bin_size[__bin_selector[offset % 125 % 74]];
// 2)
static unsigned char _bin_selector[70] = ...
unsigned mod = offset % 125;
return __bin_size[__bin_selector[mod < 74 ? mod : mod - 74]];
// 3) притом гарантирует проверку аргумента на правильность аргумента
static unsigned char _bin_selector[125] = ...
return __bin_size[__bin_selector[offset % 125]];
Какой предпочтительней?
|
Время: 15:59.
© OSzone.net 2001-