Salida de programas C | Conjunto 55 (operadores de turno)

Requisito previo: Operadores de turno

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

#include <stdio.h>
int main()
{
    unsigned int i = 0x80;
    printf("%d ", i << 1);
    return 0;
}

Opción
a) 0
b) 256
c) 100
d) 80

ans :- b

Explicación: sabemos que 0x es una representación hexadecimal del número, por lo que 80 convertido en decimal es 128 binario (10000000), su desplazamiento a la izquierda es 1, por lo que es (100000000) igual a 256.

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

#include <stdio.h>
int main()
{
    unsigned int a = 0xffff;
    unsigned int k = ~a;
    printf("%d %d\n", a, k);
    return 0;
}

Opción
a) 65535 -65536
b) -65535 65535
c) 65535 65535
d) -65535 -65535

ans :- a

Explicación: – Este código 0x es la representación hexadecimal del número, por lo que ffff hexadecimal se convierte en decimal 65535 y se almacena en a. La negación de a -65535 se almacena en k. k es un entero sin signo pero tiene un valor negativo. Cuando se imprime k, el especificador de formato es %d, que representa un entero con signo, por lo que se imprime -65536 como valor de k. Si el especificador de formato para k hubiera sido %u, el valor que se habría impreso es 4294901760.

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

#include <stdio.h>
int main()
{
    unsigned int a = -1;
    unsigned int b = 4;
    printf("%d\n", a << b);
    return 0;
}

Opción
a) -1
b) 16
c) 8
d) -16

ans :- d

Explicación: aquí, un número entero simplemente se desplaza a la izquierda 4 bits y se imprime, por lo que es -16.

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

#include <stdio.h>
int main()
{
    unsigned int m = 32;
    printf("%d %d", m >> 1, ~m);
    return 0;
}

Opción
a) 16 5
b) 64 -32
c) 16 33
d) 16 -33

ans :- d

Explicación: – Este programa 32 es (10000) y sabemos que el número negativo en el sistema binario contiene un complemento a uno, así que aquí toma un complemento de un número y solo imprime este número para que la negación de 32 sea -33.

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

#include <stdio.h>
int main()
{
    unsigned int a = -1;
    unsigned int b = 15;
    printf("%d, ", a << 1);
    printf("%d\n", b >> 1);
    return 0;
}

Opción
a) -2, 7
b) 2, 8
c) -1, 15
d) -2, 15

ans :- a

Explicación: aquí -1 binario (0001) si el desplazamiento a la izquierda es 1, por lo que es -2 (0010) y 15 binario (1111) es el desplazamiento a la derecha 1, por lo que es (0111), por lo que el valor es 7.

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 *