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