Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2015, 22:43   #1
_Ruzvelt_
 
Регистрация: 06.10.2015
Сообщений: 3
По умолчанию Задача на биты c++

Доброго времени суток.
Tсть задание
Цитата:
Написать алгоритм для функции, которая возвращает число, полученное из целого числа x, в котором нули установлены у n разрядов, начиная с позиции p(крайний правый бит считать нулевым за номером). Проверить правильность значения n i p.
Вот код:
Код:
#include 
#include 

unsigned bit_zero(unsigned x, int p, int n){
const int l = (sizeof(x) << 3) - (p + n);
unsigned y = ~0;
return x & ~((((y << l) >> l) >> p) << p);
}

int main(void){
unsigned x = 0xFFFFFFFFU;
printf("%08X\n", bit_zero(x, 0, 4));
printf("%08X\n", bit_zero(x, 8, 16));
printf("%08X\n", bit_zero(x, 16, 8));
return 0;
}
Помогите пожалуйста разобраться, верен ли этот код?
_Ruzvelt_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача Биты ochirova1960 Паскаль, Turbo Pascal, PascalABC.NET 5 01.12.2014 11:47
Биты в ASM51 Dartchuwak Помощь студентам 3 10.05.2011 14:01
Биты Leshiy1 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 20.03.2011 16:21
Байты и биты Karp_13 Общие вопросы Delphi 9 10.11.2009 00:33
Сбросить 3,5,7 биты veter_s_morya Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 20.05.2008 09:43