Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2011, 17:52
Vhan
 
Fecha de Ingreso: julio-2009
Mensajes: 81
Antigüedad: 14 años, 11 meses
Puntos: 6
Pregunta Hexa en arreglo de char a Cadena de texto

Un saludo!

tiempo sin postear por aqui...
una duda que he tenido toda la tarde,
es posible pasar de un arreglo de caracteres a una cadena?
especificamente, donde el contenido del arreglo es un numero en hexa (de mas de 4 bytes).

lo que tengo es algo como lo siguiente:

Char array [8];
array[0]=0x01;
array[1]=0x02;
array[2]=0x24;
array[3]=0x0A;
array[4]=0x32;
array[5]=0xB6;
array[6]=0x00;
array[7]=0x00;

en hexa "unido" seria algo como:
102240A32B6

lo quiero pasar a numero en decimal (basicamente no impora el formato.. String, AnsiString, int double...):
1108706210486

traté de hacerlo usando corrimiento, y guardandolo en una variable tipo __int64 (la unica que conosco de tamaño 8; con int double no funciona)
pero no dá resultado; el corrimiento llega solo hasta el cuarto byte:

__int64 result =0;

result += array[0];
result += array[1]<<8;
result += array[2]<<16;
result += array[3]<<24;
result += array[4]<<32;
result += array[5]<<40;
result += array[6]<<48;
result += array[7]<<56;

el resultado final del corrimiento es un 1 (se ha desbordado)...
(mismo resultado usando una "or" ( | ) en lugar de "+")

alguien tiene alguna idea?.

gracias.


pd: estoy usando C++ builder 2006, aunque no creo tenga que ver.