Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
/**
* ПОБИТОВЫЕ ОПЕРАЦИИ
*
* Реализовать функции установки и снятия флага
*/
/**
* @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