Копирование битов

Опубликовано Sep 30, 2011 в Манипуляция битами | 1 коммент.

, ,

Дано два 32-х битных числа – A и B. Напишите функцию, которая бы скопировала биты из числа A в число B, начиная с бита под номером startBit и заканчивая битом под номером stopBit.

int copy_bits(int A, int B, int startBit, int stopBit)
{
 //ваш код
}

Критерии оценки FulcrumWeb:

Кандидат должен продемонстрировать, что умеет работать с целочисленным типом данных в двоичном виде, а также способен придумать и реализовать простой алгоритм.

Ожидаемые вопросы:

  1. Что должна вернуть функция, если входные параметры startBit и stopBit заданы некорректно?
  2. Так как словесная формулировка допускает разнообразные трактовки, можно попросить объяснить, что должно получиться для конкретных примеров.

Оценка результатов:

От начинающего программиста принимается любое работоспособное решение.

Более опытный программист, как мы надеемся, предложит решение без использования циклов.

Здесь мы опубликовали одно из возможных решений этой задачи.