Загрузка...

Help with solving the problem for the institute

Thread in C/C++ created by Dunvil Oct 8, 2021. 181 view

  1. Dunvil
    Dunvil Topic starter Oct 8, 2021 5 Jun 11, 2020
    Ввести числа X (0 ≤X ≤ 255) и N ( 0 ≤ N ≤7) . Вычеркнуть N-й бит из двоичного представления числа X (биты младше N-го биты остаются на месте, старшие сдвигаются на один разряд вправо). Например, если введены 11 и 2, ответом будет 7.
     
  2. kageno
    kageno Oct 8, 2021 1625 Dec 12, 2016
    Dunvil,
    C
    #include <stdio.h>
    #include <stdlib.h>

    int main() {
    int x, n, balance = 0, whole = 0;
    scanf("%d", &x);
    scanf("%d", &n);

    whole = (x >> (n + 1)) << (n + 1);
    balance = x & ~whole;

    printf("%d", (whole >> 1) | balance);
    }
     
Top
Loading...