Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Concatenar Variables

Estas en el tema de Concatenar Variables en el foro de C/C++ en Foros del Web. Tengo un pequeño problema, me explico. Tenemos los hexadecimales 07 49 9F, que en representación decimal equivale a unos 400.000. El problema es que leo ...
  #1 (permalink)  
Antiguo 27/09/2012, 15:39
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 5 meses
Puntos: 28
Concatenar Variables

Tengo un pequeño problema, me explico. Tenemos los hexadecimales 07 49 9F, que en representación decimal equivale a unos 400.000.

El problema es que leo esos tres valores por separado, es decir, tengo una variable que dice "7" otra que dice "71" (49 en decimal) y otra que dice "159" (9F en decimal)... Tengo que concatenarlos para conseguir el numero... He probado varios trucos como usar potencias:

Código C:
Ver original
  1. for (int j = 0; j < i;j++)  
  2.  {
  3.           if (Numero[j] < 10)
  4.  
  5.                Numero_Definitivo += (Numero[j]*(int)pow(10,j));
  6.  
  7.          else if (Numero[j] < 100)
  8.  
  9.                        Numero_Definitivo += (Numero[j]*(int)pow(100,j));
  10.  
  11.                  else
  12.                           Numero_Definitivo += (Numero[j]*(int)pow(1000,j));
  13.   }

Pero me salen disparates, estoy atrapado y no sé que hacer...
  #2 (permalink)  
Antiguo 27/09/2012, 16:57
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 10 meses
Puntos: 22
Respuesta: Concatenar Variables

No especificas si es C o C++ (supondré C). Si ya tienes el hexadecimal en una cadena de texto utiliza strtol para obtener el decimal.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5.     char strnum[] = "07499F";
  6.     char *end;
  7.     int n = strtol(strnum, &end, 16);
  8.     printf("%d", n);
  9.     return 0;
  10. }

Si tienes que implementar el algoritmo, con una búsqueda en google encontrarás varias sugerencias de como hacerlo.
  #3 (permalink)  
Antiguo 29/09/2012, 06:22
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: Concatenar Variables

Pues al final:

Código C:
Ver original
  1. int aux = 1;
  2.           int rest = 0;
  3.  
  4.  for(int k = i-1; k >= 0; k--){
  5.                                rest += Numero[k]*aux;
  6.                                aux =aux*256;
  7. }

Etiquetas: concatenar, int, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:39.