Salida de programas C++ | Conjunto 48 (manipulación de bits)

P.1 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    int a = 35;
    int b = 12;
    printf("%d ", ~a);
    printf("%d ", ~ - b);
    return 0;
}

Opción
a) -36 11
b) -35 -12
c) 220 11
d) 36 11

ans :-a

Explicación : – Para cualquier número entero n, el complemento bit a bit de n siempre será -(n+1). así que aquí -(35+1) y-(-12+1).

P.2 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    int a = 12;
    int b = 25;
    int c = 1;
    printf("%d", a ^ b && c);
    return 0;
}

Opción
a) 300
b) 1
c) 25
d) 212

ans :-b

Explicación : – En este programa, simplemente realizamos una operación XOR entre 12 (1010) y 25 (11001), por lo que el resultado es (10011) igual a 21, luego realizamos una operación.

P.3 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    unsigned char a = -8;
    unsigned char b = a >> 1;
    printf("%d\n", b);
}

Opción
a) 128
b) -8
c) -4
d) 124

ans :-d

Explicación : – Sabemos que los números negativos se representan usando el complemento a 2 de su equivalente positivo. Así que el complemento a 2 de 8 es (11111000) y cambiamos su 1 para que su (01111100) sea 124.

P.4 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    signed char a = -128;
    signed char b = a >> 1;
    printf("%d\n", b);
    return 0;
}

Opción c
a) 128
b) 256
c) -64
d) 64

ans :- -64

Explicación : – En este código, estamos desplazando a la derecha -128 por 1. El resultado será «-64», se aplica el desplazamiento binario ya que el operando es un valor con signo que se imprime.

P.5 ¿Cuál es el resultado de este programa?

#include <iostream>
using namespace std;
int main()
{
    unsigned int x = 3;
    x = x | (x << x);
    cout << x;
    return 0;
}

Opción
a) 27
b) 24
c) 1
d) 0

ans :-a

Explicación : – En este programa, el número entero a es 3, su binario (011) cambió 3 su (011000) igual a 24 y sumó 3 para que sea igual a 27.

Este artículo es una contribución de Gyayak jain . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *