C++ побитовый сдвиг

Тема в разделе "Общие вопросы по С и С++", создана пользователем PROGamer, 3 июн 2009.

Наш партнер Genesis Hackspace
  1. PROGamer

    PROGamer Гость

    Мне задали написать прогу каторая инвертирует n розрядов в целом числе x начиная с позиции p. Я попробывал так:
    Код:

    y = x ^ ((-1 >> (sizeof(x) - p+n)) & (-1 << p));

    Но пачемуто выводит неправильно. Кто нибудь пожалуйста обьясните мне что я сделал нетак.
     
  2. PROGamer

    PROGamer Гость

    Полный текст задания такой:
    Написать функцию, каторая возвращает число полученное из целого числа X, в катором инвертированы n розрядов, начиная з позиции P, а остальные розряды оставлены без изменений(крайний правый бит считать нулевым за номером).

    Помогите ктонить...
     
Загрузка...

Поделиться этой страницей