elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
05 Septiembre 2008, 14:02  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderador: ®®)
| | |-+  Numero 48 en ASCII
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Numero 48 en ASCII  (Leído 218 veces)
Leber

Desconectado Desconectado

Mensajes: 249

"Las estrellas se apagan..."


Ver Perfil
Numero 48 en ASCII
« en: 15 Abril 2008, 23:00 »

Buenas, tengo una duda tonta, pero sino la pregunta rebiento.

El caso esque, no comprendo algo:

Código:
char c[3];
  char[0]=0+48 //esto me trae algo de cabeza;

Vale, dicho esto, pregunto, el 48 en ASCII es 0, asi que, estamos asignando a la posicion char[0]  un "0", lo que no entiendo es el por qué de eso. Ya que si le asignamos un "0" sin el "+48" le estamos asignando el final de cadena, por eso no entiendo lo que hace realmente eso.

(Lo se, es una duda tonta, pero bueno..)

Gracias de antemano
En línea

"Solo los tontos carecen de preucupaciones." Johann Wolfgang Goethe
Flakito81

Desconectado Desconectado

Mensajes: 317



Ver Perfil
Re: Numero 48 en ASCII
« Respuesta #1 en: 16 Abril 2008, 01:53 »

No es realmente eso. Cuando kieres indicar final de cadena pones \0 o \x0 y no cero.
Compila y ejecuta el siguiente código y sabrás la respuesta.
Código
#include<stdio.h>
#include<stdlib.h>
 
int main ()
{
   char c = '\0';
 
   printf ("El ASCII asociado al final de cadena es %d\n", c);
   c = '0';
   printf ("El ASCII aosciado a caracter 0 (cero) es %d\n", c);
   system ("PAUSE");
   return 0;  
}
 
Suerte!
En línea
ghastlyX
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1.687


No es posible conseguir nada sin arriesgarse algo


Ver Perfil
Re: Numero 48 en ASCII
« Respuesta #2 en: 16 Abril 2008, 15:22 »

El final de cadena se indica con un NULL, que según el código ASCII equivale a cero, de hecho una declaración así es correcta:
Código
char cadena[3] = { 'a', 'b', 0 };

En C/C++ 0, '\0' y '\x0' son equivalentes. El primero es el número cero, el segundo el carácter al que equivale el cero octal (que es cero y el carácter es el NULL) y el tercero lo mismo en sistema hexadecimal. No tienen nada que ver con el símbolo cero, es decir, su carácter, que como bien has dicho tiene un valor ASCII 48. Así, es lo mismo poner c = 48 que c = '0'. Por motivos de claridad, es preferible poner la segunda, mucho más visual, no hay que saberse la tabla ASCII ni consultarla.

Un saludo de ghastlyX ;)
En línea
Leber

Desconectado Desconectado

Mensajes: 249

"Las estrellas se apagan..."


Ver Perfil
Re: Numero 48 en ASCII
« Respuesta #3 en: 16 Abril 2008, 17:41 »

Gracias a todos, era una duda que tenia.

Si, claro, es mas comodo poner '0' que 48 pero bueno, a gustos colores no? Jaja

Saludos, y gracias de nuevo
En línea

"Solo los tontos carecen de preucupaciones." Johann Wolfgang Goethe
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC