Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Numero hexadecimal de 32 caracteres (https://www.clubdelphi.com/foros/showthread.php?t=50349)

adebonis 15-11-2007 07:21:10

Numero hexadecimal de 32 caracteres
 
Hola.

Necesito generar un numero aleatorio exadecimal que ocupe 32 posiciones.

¿Alguna idea?. Gracias.

Adolfo Bonis
Barcelona

basti 15-11-2007 14:04:48

Si lo vas a usar como número (hacer operaciones matemáticas), lo veo difícil, ya que sería un número de 32x16 = 512 bits, y no hay ningún tipo de dato que guarde esto. Tendrías que hacer tus propias rutinas matemáticas.

Si sólo es para generarlo y mostrarlo o guardarlo:
Código Delphi [-]
  numero := '';
  for i := 1 to 32 do
    numero := numero + format('%x', random(16));

ixMike 15-11-2007 15:11:14

Bon día.

¿32 carácteres, 32 posiciones, o 32 números?

Si en hexadecimal ocupa 32 carácteres, necesitas un número de 32x4=128bits (cuatro Integers, o dos Int64). Si con 32 posiciones te refieres a 32 bits, pues Integer (longint).

Para pasar un número a hexadecimal, utiliza la función IntToHex(Número, Carácteres). Devuelve directamente un string.

Para calcular un número aleatorio, utiliza la función random que ya te han enseñado. Para cambiar la "aleatoriedad", cambia el valor de la variable RandSeed (tipo Integer, al menos en mi versión de Delphi).


Saludos.


La franja horaria es GMT +2. Ahora son las 02:53:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi