Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C_C++ / Lesson1 / 1 / examp4

.cpp
Скачиваний:
45
Добавлен:
10.02.2015
Размер:
1.3 Кб
Скачать
/**
 * ПОБИТОВЫЕ ОПЕРАЦИИ
 * 
 * Реализовать функции установки и снятия флага
 */

/**
 * @brief устанавливает флаг с желаемой позицией
 * @result преобразованное входное число с установленным флагом
 * @arg arg входное число (в котором необходимо установить флаг)
 * @arg flag_position номер бита, в котором устанавливается флаг
 */
unsigned set_flag(unsigned arg, unsigned short flag_position)
{
  unsigned result = 0x0;
  return result;
}

/**
 * @brief сбрасывает анавливает флаг с желаемой позицией
 * @result преобразованное входное число со сброшенным флагом
 * @arg arg входное число (в котором необходимо сбросить флаг)
 * @arg flag_position номер бита, в котором сбрасывается флаг
 */
unsigned unset_flag(unsigned arg, unsigned short flag_position)
{
  unsigned result = 0x0;
  return result;
}

#include <iostream>
int main()
{
  unsigned num = 0x0;

  for (unsigned i = 0; i < 32; ++i)
  {
    num = set_flag(num, i);
    std::cout 
      << std::dec << "num after setting flag " 
      << i << " = " << std::hex << num << "\n";
  }

  for (unsigned i = 0; i < 32; ++i)
  {
    num = unset_flag(num, i);
    std::cout 
      << std::dec << "num after unsetting flag " 
      << i << " = " << std::hex << num << "\n";
  }

  return 0;
}
Соседние файлы в папке 1