C/Visual C - CULTURA GENERAL

 
Vista:

CULTURA GENERAL

Publicado por xj35u5x (113 intervenciones) el 10/08/2000 00:00:00
Lo que quisiera preguntar esta vez es algo que quizá para ustedes sea ridiculo pero, miren, siempre nos dicen los miles y miles de textos que leimos en internet a media noche, que los archivos ejecutables, no son mas que una gran serie de 1 y 0 que son lo UNICO que entiende el computador Y yo en mi afan de ver las cosas por mi mismo, siempre habro los archivos ejecutables, y los revso, pero no encuentro más que un INFIERNO de texto ASCII repartido por la pantalla. Nunca he visto una serie de 0 y 1, tambien he visto con un debugger las sentencias en ensamblador, pero NUNCA he podido ver los famosos unos y ceros, agradecería que me explicaran adonde se fueron ???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CULTURA GENERAL

Publicado por El Pollito (29 intervenciones) el 11/08/2000 00:00:00
Resulta que ahi estan. Lo que pasa, es que nosotros los vemos en otro formato.
Con los debbuger, tu solo ves el codigo en asm, pero tambien puedes ver una serie
de numeros o de caracteres ascii. Bien. Cuando tu en un programa en C, ordenas
a la maquina que te despliegue una ´a´, en realidad estas diciendole que te
despliegue un numero.

prieba esto:
char letra = ´a´;
printf("valor como caracter, %c y como numero %d", letra, letra);

Veras la siguiente cadena
valor como caracter, a y como numero 65.

Esto sucede porque el codigo que corresponde a la letra a es el numero 65.

Y como se almacena el 65 en su variable???
Recordemos que el tipo char mide 8 bits, Asi que el valor se almacena en
formato binario. el codigo binario de la letra a (codigo ascii 65) es
01000001. Si tu te fijas, estan los 8 bits.

Otra prueba:
El valor maximo en un char es 255. (11111111 en binario)
A una variable char, asignale el valor 255, y luego sumale 1.
Se volvera cero inmediatamente.

Y esas letras raras con numeros que salen como 6f3a o A12B??
Bien, es otro formato numerico. Es codigo hexadecimal. El valor maximo aqui es
de 15. Los valores despues del 10, se cuentan con letras.
10 decimal = A hexadecimal. 12 decimal = C Hexadecimal, y
15Decimal = F Hexadecimal.
Un valor hexadecimal ocupa 4 bits (la mitad de un byte), asi que si a un char le
asignas un 255, su valor hexadecimal sera FFh. La h al final del valor indica que es un
numero hexadecimal.
prueba esto:
char a = 255;
printf("Decimal: %d Hexadecimal:%x",a,a);
salida : Decimal 255 Hexadecimal ff

otro ejemplo:
char letra = ´a´;
printf("valor como caracter, %c como numero decimal %d y como numero hex, letra, letra, letra);

Espero que hayas entendido.
Atte. El pollito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CULTURA GENERAL

Publicado por K ! (2 intervenciones) el 14/08/2000 00:00:00
Lo que ocurre es lo siguiente, cuando tu visualizador, ya sea un simple bloc de notas o una wordpad por ejemplo, es interpretar bloques de bits de 8 en 8 y te muestra la simbologia segun ASCII, asi de simple.

Si verias ceros y unos en pantalla, como sabras, cada caracter se codifica en 7 o 8 bits, por lo tanto si verias un 0, se supodria que el equipo encontro un byte xxxxxxxx.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CULTURA GENERAL

Publicado por jerico (1 intervención) el 07/10/2007 17:29:15
espero que no les parezca absurdo, por que para mi no lo es, que tipo de señal recibe la computadora, si bien es cierto trabaja en base al codigos binarios, pero en que momento la señal que recibe se convierte en 0 ó 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar