Considere el siguiente programa en C.
#include <stdio.h> int main(void) { int a = 'd'; printf("%d\n", a); /*OUTPUT - 100 (ASCII Code for character d)*/ int b = 'dd'; printf("%d", b); /*OUTPUT - 25700 (Explanation in detail given below)*/ return 0; }
Producción :
100 25700
Podemos adivinar fácilmente que la salida para ‘d’ es 100 ya que 100 es el valor ASCII del carácter ‘d’.
Consideremos la siguiente línea
int a = 'dd'
(%d, a) imprime 25700 como salida
01100100 01100100 (Binario de 100 100)
Suponiendo que int es de 2 bytes, el primer byte está ocupado por el primer carácter ‘d’ y el segundo byte por el segundo carácter ‘d’. Por lo tanto, el binario general implica 0110010001100100, es decir, 2 ^ 14 + 2 ^ 13 + 2 ^ 10 + 2 ^ 6 + 2 ^ 5 + 2 ^ 2 = 25700.
Ahora adivina el resultado del siguiente código.
#include <stdio.h> int main(void) { int b = 'de'; printf("%d", b); return 0; }
Publicación traducida automáticamente
Artículo escrito por Deepshikhar Bhardwaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA