Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   error con la constante 18446744073709551615 en delphi7 (https://www.clubdelphi.com/foros/showthread.php?t=74351)

erickperez6 14-06-2011 03:21:36

error con la constante 18446744073709551615 en delphi7
 
este valor es una constante para algunas operaciones matematicas 2^64 - 1 o lo que es igual a 18446744073709551615. En delphi7 me arroja un error el compilador de "integer constant too large". En versiones superiores de delphi se resuelve el asunto asignando el valor de la constante a un nuevo tipo de entero llamado uint64 (unchecked), pero no se como tratar el tema en delphi 7 ?

Delphius 14-06-2011 03:28:01

Y digo yo... ¿te suena el tipo de dato Int64? :rolleyes:

Saludos,

erickperez6 14-06-2011 03:32:58

por su puesto fue lo primero que probe, no va con el int64, la diferencia con el uint64 es que este ultimo no lo chequea el compilador, pero no existe en delphi7, asumo que debera de existir una forma para manipular este valor

REVINFOR 14-06-2011 03:49:43

Buenas, por que no haces la prueba con Longint, en varias ocasiones me saco de problemas....

Delphius 14-06-2011 04:00:21

Cita:

Empezado por erickperez6 (Mensaje 403652)
por su puesto fue lo primero que probe, no va con el int64, la diferencia con el uint64 es que este ultimo no lo chequea el compilador, pero no existe en delphi7, asumo que debera de existir una forma para manipular este valor

Vaya... tienes razón. Es mayor... ahora caigo: tu estás calculando 2^64 - 1 y no 2^63 - 1, como es el caso de Int64.

Creo que para tu caso no queda otra que recurrir al tipo Double y no emplear tipos enteros. O la otra posibilidad es la de utilizar alguna biblioteca de terceros que ofrezca un tipo adecuado y las operaciones necesarias para realizarlo, como las de precisión arbitraria.

Saludos,

Crandel 14-06-2011 14:35:02

Lo que estas buscando es un unsigned int64. Lamentablemente no existe en Delphi 7, solo a partir de delphi 2005 :(


La franja horaria es GMT +2. Ahora son las 00:28:57.

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