PDA

Показать полную графическую версию : что хуже, потратить 51 байт или дополнительно поделить по модулю?


pva
31-07-2010, 21:26
Привет всем! подскажите, что хуже, потратить 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]];

Какой предпочтительней?




© OSzone.net 2001-2012