[an error occurred while processing this directive]
|
предположим, у меня два 32 битных числа, var_A и var_B. В какой-то момент мне надо взять 16 старших бит var_A, прибавить их к младшим 16 битам var_B, и положить на место младших 16 бит var_A. При этом надо, чтобы число операций процессора было минимально, и чтобы не было двух кусков кода, которые компилируеются в зависимости от define (типа вариант для LE/BE). Хочется макрос, который бы перетусовывал имена переменных в приведенном мною алгоритме.
Насколько я понимаю, вариат с двумя массивами из двух 16 битных чисел будет компилироваться _потенциально_ более эффективно по скорости, чем вырезание битов по маске и сдвиги (код может быть больше, но меня чаще скорость волнует).
Вот вопрос в том, как это перетусовать.
E-mail: info@telesys.ru