IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Taille d'un champ numérique


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 375
    Points : 42
    Points
    42
    Par défaut Taille d'un champ numérique
    Bonjour

    Je veux entrer un nombre de plus de 50 chiffres pour la partie entière et 20 chiffres pour la décimale dans un champ 1 numérique puis dans un deuxième champ 2 numérique afin d'avoir un résultat final.

    résultat final= Champ 1 * champ 2

    mais cela n'accepte pas tous les nombres même si je spécifie 38 dans la partie complète et la partie décimale.

    Merci d'avance de me donner une idée.

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Le WLangage et bien d'autres ne peuvent traiter au maximum que du (32,6) après ça dépasse (Zezette ep. X.)
    Pour traiter les nombres de grandes tailles, il faut utiliser un algorithme spécial tel que ceux de Karatsuba, Toom-Cook ou Schönhage et Strassen
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 375
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Le WLangage et bien d'autres ne peuvent traiter au maximum que du (32,6) après ça dépasse (Zezette ep. X.)
    Pour traiter les nombres de grandes tailles, il faut utiliser un algorithme spécial tel que ceux de Karatsuba, Toom-Cook ou Schönhage et Strassen

    Merci beaucoup pour ton retour

    est ce que tu peux me faire un exemple avec l'algorithme Karatsuba

    Juste un départ, je suis bloqué

    Merci d'avance

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 938
    Points : 1 921
    Points
    1 921
    Par défaut
    Voilà un exemple bien expliqué. A toi de l'implémenter: https://fr.wikipedia.org/wiki/Algorithme_de_Karatsuba
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  5. #5
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    C'est une fonction récursive. Pour Karatsuba, l'algorithme est un peu plus développé ici.
    Il est préférable de commencer à travailler sur des nombres exprimé sous forme scientifique (a.10n avec a dans N*). La position de la virgule sera ensuite simple à trouver.
    Après, tu as aussi Toom-Cooke et Schönhage – Strassen. Au niveau complexité algorithmique, ils sont quasiment équivalents. A toi de choisir celui qui te "parle" le plus.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 375
    Points : 42
    Points
    42
    Par défaut
    Merci de vos retours

    Alors j'essaye d'appliquer (AB * CD) Algorithme Karatsuba

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //Voila mon exemple  pour 2 nombres (A et B) de 60 chiffres
    A est un numérique=123456789012345678901234567890123456789012345678901234567890
    B est un numérique=998765432109876543210987654321098765432109876543210987654321
    C est un numérique
    D est un numérique
     
    R est un numérique=A *C * 10 * Exp(4)+ ( A * C + B * D - ( A - B)*(C - D))*10 * Exp(2)+C * D
     
    Trace(R)
    Mon problème je n'arrive PAS À appliquer la Karatsuba À mon CAS
    Vous pouvez m'aider svp

    Merci

  7. #7
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 937
    Points : 9 249
    Points
    9 249
    Par défaut
    hello,
    il y a aussi GMP, voir ici

    ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 375
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    hello,
    il y a aussi GMP, voir ici

    ami calmant, J.P

    Merci Jurassic Pork pour ton retour

    Est ce que j'importe La bibliothèque GMP dans windev , vraiment j'ai pas bien compris votre message

    C'est possible tu peux me faire un exemple dans windev

    Merci

  9. #9
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    A priori tout est dans la doc de GNU MP.
    Après la compilation de la dll, il suffit d'utiliser les fonctions qui sont décrites.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  10. #10
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 937
    Points : 9 249
    Points
    9 249
    Par défaut
    hello,
    Citation Envoyé par Fmfib Voir le message
    C'est possible tu peux me faire un exemple dans windev
    Il y a aussi la bibliothèque russe bedvitcom accessible en objet automation
    voici un exemple de multiplication de deux nombres de 60 digits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BigEntier est un objet Automation "BedvitCom.BignumArithmeticInteger"
    x1,y1,z1 sont des octets
    x1 = 1 ; y1 = 2 ; z1 = 3
    BigEntier>>BignumSet(x1, "123456789012345678901234567890123456789012345678901234567890")
    BigEntier>>BignumSet(y1, "998765432109876543210987654321098765432109876543210987654321")
    BigEntier>>Multiply(z1,x1,y1)
    Trace(BigEntier>>bigNum(z1))

    Nom : Bignum.PNG
Affichages : 264
Taille : 12,7 Ko


    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  11. #11
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    Même sans maîtriser la langue de Tchekhov, les fonctions sont relativement explicites.
    Even peut éventuellement poser des problème, mais à priori elles correspond à EstPair
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 375
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    hello,

    Il y a aussi la bibliothèque russe bedvitcom accessible en objet automation
    voici un exemple de multiplication de deux nombres de 60 digits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BigEntier est un objet Automation "BedvitCom.BignumArithmeticInteger"
    x1,y1,z1 sont des octets
    x1 = 1 ; y1 = 2 ; z1 = 3
    BigEntier>>BignumSet(x1, "123456789012345678901234567890123456789012345678901234567890")
    BigEntier>>BignumSet(y1, "998765432109876543210987654321098765432109876543210987654321")
    BigEntier>>Multiply(z1,x1,y1)
    Trace(BigEntier>>bigNum(z1))

    Nom : Bignum.PNG
Affichages : 264
Taille : 12,7 Ko


    Ami calmant, J.P


    Merci beaucoup jurassic

    Lors de mon test il me demande l'installation de L'objet
    L'objet automation 'BedvitCom.BignumArithmeticInteger' n'est pas installé sur votre système.

    Merci de me donner le lien pour installer cet objet

  13. #13
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Fmfib Voir le message
    Merci beaucoup jurassic

    Lors de mon test il me demande l'installation de L'objet
    L'objet automation 'BedvitCom.BignumArithmeticInteger' n'est pas installé sur votre système.

    Merci de me donner le lien pour installer cet objet
    Le lien est donné dans le post #10
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  14. #14
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 375
    Points : 42
    Points
    42
    Par défaut
    Merci beaucoup jurassic

    Lors de mon test il me demande l'installation de L'objet
    L'objet automation 'BedvitCom.BignumArithmeticInteger' n'est pas installé sur votre système.

    Merci de me donner le lien pour installer cet objet

  15. #15
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 937
    Points : 9 249
    Points
    9 249
    Par défaut
    hello,
    Citation Envoyé par Fmfib Voir le message
    Lors de mon test il me demande l'installation de L'objet
    L'objet automation 'BedvitCom.BignumArithmeticInteger' n'est pas installé sur votre système.

    Merci de me donner le lien pour installer cet objet
    tout est expliqué ici

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  16. #16
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 375
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    hello,


    tout est expliqué ici

    Ami calmant, J.P

    Je te remercie pour l'encadrement


    J'ai réussi à enregistrer la DLL mais lors je lance mon test de calcule j'ai toujours j'ai e même message voir
    Nom : ji.png
Affichages : 158
Taille : 14,8 Ko
    Merci encore une fois
    Images attachées Images attachées   

  17. #17
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 937
    Points : 9 249
    Points
    9 249
    Par défaut
    hello désenregistre et réenregistre les deux dll mais dans une invite de commande en étant administrateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    c:\windows\SysWOW64\regsvr32.exe /u "BedvitCOM(x86).dll"
    c:\windows\System32\regsvr32.exe /u "BedvitCOM(x64).dll"
    c:\windows\SysWOW64\regsvr32.exe "BedvitCOM(x86).dll"
    c:\windows\System32\regsvr32.exe "BedvitCOM(x64).dll"
    
    Ami calmant, J.P

    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  18. #18
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 375
    Points : 42
    Points
    42
    Par défaut
    Oui j'enregistre en tant qu'administrateur voir l'image
    Nom : j2.png
Affichages : 141
Taille : 8,7 Ko

    Alors l'enregistrement ca passe bien.
    Mon souci c'est que lors je lance ma fenêtre windev contenant un bouton dans lequel je met ton code
    J'ai le message " L'objet automation 'BedvitCom.BignumArithmeticInteger' n'est pas installé sur votre système. "

    Merci d'avance

  19. #19
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 937
    Points : 9 249
    Points
    9 249
    Par défaut
    hello

    normal tu n'as pas tapé exactement les commandes que j'ai mise !!!!!!!!!!!!!!!!!!!!
    tape les 4 commandes exactement comme je les ai écrite !!!!!!!!!!
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  20. #20
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    As tu bien extrait les dll au bon endroit ? cf https://support.microsoft.com/fr-fr/...a-3f4e0cb543e5
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

Discussions similaires

  1. Problème de taille d'un champ numérique
    Par loic20h28 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/01/2008, 10h20
  2. Taille Champ numérique Entier Long
    Par doczen dans le forum IHM
    Réponses: 3
    Dernier message: 27/12/2007, 21h23
  3. Modifier la taille d'un champ
    Par sbeu dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 23/03/2005, 17h32
  4. Champs numériques dans une base de données à exporter
    Par ulukahio dans le forum Autres langages
    Réponses: 18
    Dernier message: 16/03/2005, 11h50
  5. Formatage d'un champ numérique
    Par portu dans le forum Bases de données
    Réponses: 8
    Dernier message: 07/07/2004, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo