FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿Cómo calcular resto division de divisor de 16 cifras?
hola estoy intentando calcular el resto de esta divison:
1185576217142889 / 75 utilizo la funcion mod pero me da error por que el dividendo tiene demasiadas cifras he utilizado un longint pero no cabe el numero he probado con un double pero tampoco me funciona bien la funcion mod como debo hacerlo? si algien lo puede provar y darme una solución segura, lo agradecere eternamente un Saludo |
#2
|
||||
|
||||
Primero de todo, lee nuestra guía de estilo, gracias.
He editado tu título porque incumplía una de las normas. Usa int64 para tu número. |
#3
|
|||
|
|||
perdon
disculpa ya me lo leo con mas cariño
y muchas gracias por la respuesta un Saludo |
#4
|
|||
|
|||
Sigo teniendo problemas con int64
Hola, empiezo a estar desesperado, tengo un número de 16 digitos que no me cabe en un longint.
he probado con int64 pero delphi3 no reconoce este tipo de dato numerico. lo que tengo que hacer es utilizar este numero de 16 D como dividendo en la funcion MOD lo he probado con double y me da error "operator not aplicable to this operand type" lo he probado con int64 y borland delphi6 y delphi XE8 y funciona, pero con delphi3 no funciona algien puede probarlo y darme una solución? muchas gracias |
#5
|
||||
|
||||
No crees nuevos hilos para seguir con lo mismo, sigue en el mismo hilo que iniciaste.
He unido ambos. Creo que olvididaste leer nuestra guía de estilo, gracias. |
#6
|
||||
|
||||
Cita:
|
#7
|
|||
|
|||
disculpa otra vez
disculpa, que error mas grande, ya me he habia leido la guia de estilo, y he mejorado en cosas pero, he cometido este error que me comentas.
bueno.... el caso es que sigo teniendo el mismo problema, y tengo que solucionarlo ya, porque es para el trabajo. un Saludo |
#8
|
||||
|
||||
Imagino que quien te ha requerido este problema, te ha puesto ese "número tan grande" justo para que no lo hagas utilizando el operador de la división, sino para que lo hagas paso a paso utilizando un algoritmo.
Se trata de programar un bucle que haga la división tal y como la hacemos manualmente. Creo que en mi primer curso de facultad, fue una de las prácticas que tuve que hacer. Deberás utilizar un bucle (for..begin..end o While..begin..end) para recorrer el dividendo. Ves cogiendo cifras (como lo hacemos manualmente), divide y quédate con el resto. Añade una nueva cifra, vuelve a dividir,... y así hasta finalizar. Lo dicho, igual que como se hace manualmente. Inténtalo, por el código que vas probando y si no te funciona te iremos echando un cable.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 09-03-2016 a las 11:09:32. |
#9
|
||||
|
||||
Cita:
En cuanto a tu problema, tendrás que ayudarnos a ayudarte, no nos has dicho nada más ni has contestado a mi pregunta. Yo no veo delphi 3 desde ¿1998? pero puede que tengas que incluir en el uses math, o algo así, no puedo recordar después de tantos años. |
#10
|
||||
|
||||
jejeje... ¿y eso cómo es?
|
#11
|
|||
|
|||
ja ja si y ademas soy nuevo en el trabajo imaginate como estoy.
he probado el uses math, pero no va, parece que esa en systems y por tanto no es necesario añadirlo, pero eso es con delphi6 porque el delphi3 no lo reconoce. esto de el bucle tengo que mirarlo, pero si algien lo tiene echo asi o de otra manera que me lopase please |
#12
|
||||
|
||||
No contestas a nuestras preguntas, no pones nada de tu código, no aportas nada... solo pides código para copiar y pegar.
|
#13
|
||||
|
||||
Ni siquieras usas las búsquedas
|
#14
|
|||
|
|||
solucion
utilizar tipos double
la alternativa a la funcion MOD es: resto=dividendo-(divisor*parte entera resultado division) para obtener la parte entera utilizar: formatfloat('#######.##', float) para pasar a string luego posstr para obtener posicion del punto de decimales lugo copy para obtener parte entera como string y finalmente floattostr para pasar a double entonces ya se puede utilizar la fórmula para calcular el resto. un Saludo |
#15
|
||||
|
||||
Para nada, eso no te resuelve el problema de un número con 16 dígitos.
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Los diputados no tocarán sus pensiones porque no son como el resto de ciudadanos | Casimiro Notevi | La Taberna | 4 | 14-01-2011 20:51:24 |
Matematica de coquito: Como le resto un porcentaje (iva) incluido? | mamcx | Varios | 5 | 12-07-2007 01:13:29 |
dbedit y cifras monetarias problemas al calcular | yeison Cristman | OOP | 2 | 10-08-2006 07:52:46 |
Como calcular el resto de dividir un string numerico | veronica | Varios | 3 | 26-09-2005 13:35:18 |
Como resto dias a una fecha | Huer | Varios | 3 | 06-06-2003 01:06:22 |
|