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

La taverne du Club : Humour et divers Discussion :

Compression par non-répétition

  1. #21
    Inactif  
    Homme Profil pro
    extrazlove
    Inscrit en
    Juillet 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : extrazlove

    Informations forums :
    Inscription : Juillet 2015
    Messages : 103
    Points : 0
    Points
    0
    Par défaut
    Je vais présenter l'algorithme est vous me direz si c'est correct ou pas.
    Et comment le traduire en C
    Soit un fichier binaire A
    1 etape.
    Lire les 5 octet de A.
    Et remplacer par la partie entier de B
    En boucle jusqu'à trouver B'n
    B'n est dans 4 octet.
    2 etape
    Décompresser le B'n pour trouver le A .

    Il y 2 manière de faire soit par une méthode mathématique pour trouver le A
    Soit je calcule tout les possibilités pour trouver le B'n et je m'arrête quand je trouve mon B'n donc j'aurais les valeurs de An
    Les 5 octet de An retrouver je prend An =0010 0101 0100 0000 0001 0001 0010 0011 0011 0011=Bn-1 0011 0011 je me déplace de 2 octet pour trouver notre B'n-1

    Voici vous pouvez le traduire en C .
    Ou m'expliquer comme faire etape 1 et 2 en C.
    Pour etablire un tel programe voici se que j'ai besoin:
    Une fonction qui lit un fichier 1/2 octet par un demi octet.
    une fonction qui remplace A1 par B dans notre code.
    d'une fonction qui retourne les 5 octet de A depuis la partie entier de B
    Suffit de faire tout les possibilités possible et de comparer notre B réel avec son partie entiere enregistrer dans fichier.
    Si vous me donner comme faire ses fonction je peux vous ecrire se program en C.
      0  4

  2. #22
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Personne ne va (perdre son temps à) écrire ce programme.

    Si tu n'es pas capable d'écrire un programme qui soutient ton raisonnement, le mieux est de laisser tomber.
    ɹǝsn *sıɹɐlos*
      5  0

  3. #23
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 038
    Points : 9 347
    Points
    9 347
    Par défaut
    Pour écrire un programme, il faut avoir un algorithme.
    Et ton algorithme ne ressemble à rien.

    Soit un fichier binaire A --> ok
    Lire les 5 premiers octets de A. --> ok
    Remplacer par la partie entière de B --> ???? C'est quoi ce B ? C'est la division de A par le nombre magique X du début ?
    En boucle jusqu'à trouver B'n --> et B' serait la différence A - B *X

    Et à partir d'un nombre sur 5 octets, tu aurais 2 nombres sur chacun 2 octets , c'est ça ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
      3  0

  4. #24
    Inactif  
    Homme Profil pro
    extrazlove
    Inscrit en
    Juillet 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : extrazlove

    Informations forums :
    Inscription : Juillet 2015
    Messages : 103
    Points : 0
    Points
    0
    Par défaut
    Le B'1 est obtenu par B1 un chiffre qui es calculer a partir de A1= 8 4 3 0 2 6 3 15 1 0
    soit B1=(8*16^9+4*16^8+ 3*16^7+ 0*16^6 +2*16^5+6*16^4+3*16^3 +15*16^2+ 1*16^1 +0*16^0)/(8*2^9+4*2^8+ 3*2^7+ 0*2^6 +2*2^5+6*2^4+3*2^3 +15*2^2+ 1*2^1 +0*2^0)=98737999.xx..x ou x un nombre entier.
    Dans ce cas B1' c'est 98737999 ou 8 chiffre je code chaque chiffre dans 1/2 octet donc B'1 est écrite dans 4 octet.
    Puis je le remplace le A1 de 5 octet par le B'1 de 4 octet.

    Si je veux avoir le A1 suffit de prendre le formule de B1 faire toute les possibilités et quand la partie entier de B1 = B'1 on va tomber sur les octets de A1
    Maitenant si j'ai A=A1 0011 0011 0011 0000...0011 1111
    Je remplace le A1 par le B1' donc notre code j'obtien un nouveau code B1' 0011 0011 0011 0000...0011 1111 (-2 octet)
    Pour obtenir un nouveau A2 =B'1 0011 0011
    Ce A2 je le transforme encore en B'2 puisque A2 est de 5 octet.
    Ainsi de suite jusque trouver un code équivalant valant B'n
    Maitenant j'ai mon B'n dans 4 octet qui es équivalant a A.
    Le B'n sera décompresser j'obtiens le An
    Si j'ai An j'aurais 5 octet exemple An=0000 0011 1111 0000 1111 1111 0000 0011 0010 0011
    =B'n-1 0010 0011
    Je decompresse a nouveau le B'n-1 ca donne An-1 =B'n-2 + les deux dernier 1/2 octet
    je continue comme ca jusqu'a retrouver le A
    .
    Est ce c'est claire ou ta pas compris?
      0  2

  5. #25
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 038
    Points : 9 347
    Points
    9 347
    Par défaut
    Ok,
    Donc si tu as les 10 demi-octets suivants dans ton fichier de départ : 8 4 3 0 2 6 3 15 1 0 , tu vas faire ton calcul, ça donne 98737999, tu codes chaque chiffre sur un demi-octet, et le résultat tient sur 4 octets.
    Ok. ... On pourrait déjà faire une première remarque, mais on ne va pas chipoter.

    Prenons un autre exemple. Dans ton fichier de départ, tu as 15 4 3 0 2 6 3 15 1 0 au lieu de 8 4 3 0 2 6 3 15 1 0. Fais tes calculs, et tu verras que tu tombes sur un premier problème : tu as besoin de 9 chiffres au lieu de 8 ... Ca, ce n'est pas trop grave, ça peut se contourner.

    Mais prenons encore un autre exemple.
    Si dans le fichier d'entrée, tu as les 5 octets : 0 7 0 0 0 0 0 0 0 0 ... tu fais ton calcul, et tu obtiens 16777216
    Et si tu as les 5 octets suivants : 0 5 0 0 0 0 0 0 0 0 , tu fais ton calcul, et tu obtiens ??? le même nombre 16777216 !

    Et comment tu fais à partir de ce 16777216 pour reconstituer la bonne valeur d'origine ?

    C'est quand même désolant.
    On te dit que ton système ne tient pas la route. Tu insistes contre tout le monde.... et tu n'as pas fait ce genre de contrôles BASIQUES ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
      8  0

  6. #26
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 360
    Points : 23 600
    Points
    23 600
    Par défaut
    Bonjour,

    Citation Envoyé par fanmanga Voir le message
    *Peut on représenter un grand chiffre entier avec 8 ou 9 chiffre?

    Voici un exemple :
    *si je procède ainsi soit A un bout de code écrit sur A=[10 11 1 9 14 5 9 15 14 10] sur 5 octet.

    Z = 10⋅ 2⁹ + 11⋅ 2⁸ + 1⋅ 2⁷ + 9⋅ 2⁶ + 14⋅ 2⁵ + 5⋅ 2⁴ + 9⋅ 2³ + 15⋅ 2² + 14⋅ 2¹ + 10⋅ 2⁰
    E = 10⋅16⁹ + 11⋅16⁸ + 1⋅16⁷ + 9⋅16⁶ + 14⋅16⁵ + 5⋅16⁴ + 9⋅16³ + 15⋅16² + 14⋅16¹ + 10⋅16⁰
    … qui es a un format unique si on a E en peut déduire A.
    L'erreur dans ton raisonnement vient du fait qu'à la base, ce qui est valable pour E ne l'est pas pour Z. Avec des puissances de 16, tu laisses suffisamment de place à chaque terme de ton polynôme pour utiliser des coefficients s'étendant de 0 à 15. Avec des puissances de 2, tout coefficient plus grand que 1 va aller « écraser » ses voisins de rang supérieur. Transposé à l'arithmétique, cela va avoir pour principale conséquence d'engendrer plusieurs polynômes différents pour un même nombre, et ce même si on respecte la limite maximum des coefficients (ici 16). Exemple :

      3⋅2³ +  7⋅2² +  5⋅2¹ +  1⋅2⁰ (soit [3  7  5  1])
    = 6⋅2³ +  1⋅2² +  4⋅2¹ +  3⋅2⁰ (soit [6  1  4  3])
    = 7⋅2³ +  1⋅2² +  1⋅2¹ +  1⋅2⁰ (soit [7  1  1  1])
    = 1⋅2³ + 13⋅2² +  1⋅2¹ +  1⋅2⁰ (soit [1 13  1  1])
    Tous les polynômes ci-dessus valent « 63 », soit « 111111 » en binaire. Donc, même si tu fais tes opérations et que tu retrouves bien le même motif, tu ne sauras jamais à laquelle de ces combinaisons il correspond.

    Le fin mot de l'histoire, donc, c'est que tu as perdu de l'information avant même de commencer ton calcul.
      5  0

  7. #27
    Inactif  
    Homme Profil pro
    extrazlove
    Inscrit en
    Juillet 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : extrazlove

    Informations forums :
    Inscription : Juillet 2015
    Messages : 103
    Points : 0
    Points
    0
    Par défaut
    Et si f(S-y*Z) avec S s'écrit S=a*17^9+b*17^8...+k*17^0 ou si non prendre S comme une constance si sa donne des résultat unique plus petite?
      0  3

  8. #28
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 360
    Points : 23 600
    Points
    23 600
    Par défaut
    Ce sera rigoureusement la même chose. En passant de 16 à 17, tu laisses plus de places pour tes coefficients mais tu en génères toujours autant. Si, en plus, tu passes d'un intervalle [0;15] à [0;16], tu vas générer encore plus de polynômes à faire rentrer dans un ensemble de taille fixe. Tu vas donc obtenir encore plus de collisions.

    À mon tour de te poser deux questions :

    Soit une variable de type unsigned int sur 32 bits, et une autre variable de type float.
    1. Quelles sont les valeurs minimum et maximum que l'on puisse représenter avec chacune de ces deux variables ?
    2. Combien de nombres différents peut-on représenter en tout avec chacune de ses deux variables ? Pourquoi ?


    Si tu réponds correctement à ces deux questions, tu auras la solution au problème qui t'occupe depuis le début de ce fil.
      5  0

  9. #29
    Inactif  
    Homme Profil pro
    extrazlove
    Inscrit en
    Juillet 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : extrazlove

    Informations forums :
    Inscription : Juillet 2015
    Messages : 103
    Points : 0
    Points
    0
    Par défaut
    Pour ton exemple ca marche pas toujours.
    Je donne exemple soit a=12^1234567890
    Se nombre a deux façon d'être coder l'un est volumique et l'autre non.

    Et si je construit mon f (Z) =f1 ou f2 ....fn
    fn sera valable pour des tels possibilités qui donne un résultat unique.
    Je vais balayé tout les possibilités avec mon f (Z).
    En vois clairement avec mes exemple que en changeant le f (Z) il y a des résultats ou il état pas unique il deviens unique.
    Si j'ai f1 est valable pour des tels possibilité et pas valable pour autre possibilité.
    Je prend ses possibilité qui sont pas valable est je construit un f2 qui es valable qui va donner aussi des possibilités pas valable mais les nombres des possibilités diminuer jusqu'à trouver fn.

    Par exemple si j'ai A=1 5 6 7 8 9 2 4 14 10
    Mon f (z)=f1
    Je calcule toutes les possibilités si la possibilité pour avoir A donne un résultat unique j'utilise f1 si non en passe a f2 ainsi de suite.
    Si je veux décompresser B suffit de voir si le B est unique pour f1 si oui c'est bon on a notre A si il est pas en passe a f2 ainsi de suite.
    Je pense avec ca ma méthode ca marche car en peux constuire notre f (z)=f1 ...ou fn Pour balayer toutes les possibilités .
    Notre n est fini puisque z l'entrée est fini.
    Que pensez vous?
      0  5

  10. #30
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 360
    Points : 23 600
    Points
    23 600
    Par défaut
    Citation Envoyé par fanmanga Voir le message
    Pour ton exemple ca marche pas toujours.
    Je donne exemple soit a=12^1234567890
    Se nombre a deux façon d'être coder l'un est volumique et l'autre non.
    Ça ne change au rien au fait qu'au final, tu cherches un diviseur qui va te ramener ton polynôme de puissance arbitraire à un autre polynôme à puissances de 2 qui, lui, souffrira de collisions comme expliqué en #28. Et ces collisions ne sont pas dues à la division des deux polynômes, mais au fait que tu utilises d'emblée des coefficients trop grands pour lui. Tu es bien d'accord que :

    2⋅2¹ + 3⋅2⁰ = 3⋅2¹ + 1⋅2⁰

    … et donc que :

    [ 2 3 ] = [ 3 1 ]

    Si dès le départ, tu ne peux pas faire le distingo entre les deux, comment vas-tu être capable de savoir laquelle version est la bonne et, de là, la décompresser vers le bon polynôme, qu'il utilise des puissances de 12, de 16 ou de 17 ?

    Je calcule toutes les possibilités si la possibilité pour avoir A donne un résultat unique j'utilise f1 si non en passe a f2 ainsi de suite.
    Si je veux décompresser B suffit de voir si le B est unique pour f1 si oui c'est bon on a notre A si il est pas en passe a f2 ainsi de suite.
    Je pense avec ca ma méthode ca marche car en peux constuire notre f (z)=f1 ...ou fn Pour balayer toutes les possibilités .
    Notre n est fini puisque z l'entrée est fini.
    Que pensez vous?
    Autrement dit, tu nous expliques que si l'un des algorithmes n'est pas adapté aux données de départ car celles-ci tombent dans un cas qui engendre des collisions, il suffit de passer « à l'algorithme suivant », et ainsi de suite jusqu'à rencontrer le bon, le tout en conservant une clé Z qui, elle, reste de taille fixe.

    Ça aurait pu être une bonne idée, mais cela t'oblige donc à fournir « la clé Z + le numéro de l'algorithme à utiliser ». Comme la clé Z est déjà de taille fixe, ajouter le numéro de l'algorithme à utiliser va donc allonger la taille des données compressées. Et ce n'est pas anodin car tu vas commencer avec f₁, f₂, f₃, f₄… et très vite tu vas te retrouver avec f₁₀, f₃₀, f₁₀₀, puis avec f₄₅₉₃₆, puis f₅₇₉₁₃₆₇₉₆₄₅₆₇₁₂₃₀₂₁₇₅₆₈.

    Note bien que tu es obligé de passer ce numéro en plus de la clé car il t'est impossible d'adopter la même stratégie qu'en entrée, pour la bonne raison qu'il t'est impossible de savoir si les données que tu as décompressées sont bien les bonnes ou si elles sont le fruit d'une collision due au choix du mauvais algorithme. Il te faudrait les données de départ pour pouvoir les comparer.

    Outre le fait qu'il te faudra plusieurs millions de fois l'âge de l'univers pour passer tous les cas en revue, tu vas de toutes façons te retrouver avec une fonction fnn va croître avec le volume des données à traiter, comme expliqué au paragraphe précédent. Tu vas donc au final te retrouver avec une quantité d'informations moins large que celles des données initiales mais quand même croissante, ce qui est la définition exacte de la compression.

    À noter également que si tu arrives à prouver qu'une fonction fn permet de représenter xn combinaisons, cela veut dire que « n = logx(combinaisons) ». Et si tu admets que « k = ln(combinaison) / ln(x) », alors tu peux réécrire la même formule sous la forme « n = k⋅ln(combinaisons) », ce qui est généralement la façon dont on définit l'entropie. Va lire ceci : http://fr.wikipedia.org/wiki/Entropie_de_Shannon et plus généralement ceci : http://fr.wikipedia.org/wiki/Entropi...modynamique%29


    Si tu te restreins volontairement à une taille fixe, alors tu vas forcément obtenir des collisions car ta fonction n'est pas bijective mais surjective. Et ça, c'est en fait exactement le principe des fonctions de hachage. Ce n'est pas idiot non plus car pour une information de longueur arbitraire donnée, il va toujours correspondre une « somme » de taille invariable, déterministe, et en principe facile à calculer. Cette somme est appelée « digest » ou « résumé » car elle est effectivement représentative des données de départ, mais cela ne marche que dans un sens : cela ne permet pas de remonter aux données d'origine. C'est ce que font MD5, SHA et consors, mais aussi et surtout les CRC qui sont utilisés à des fins similaires mais légèrement différentes.

    Lis ceci :

    http://fr.wikipedia.org/wiki/Fonction_de_hachage
    http://www.repairfaq.org/filipg/LINK/F_crc_v3.html

    Je pense que le second lien va te passionner mais garde à l'esprit que cela ne concerne JAMAIS la compression.
      6  0

  11. #31
    Inactif  
    Homme Profil pro
    extrazlove
    Inscrit en
    Juillet 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : extrazlove

    Informations forums :
    Inscription : Juillet 2015
    Messages : 103
    Points : 0
    Points
    0
    Par défaut
    Mais la tu parle du cas général ou l'entré Z(A1) est infini la nous somme dans un cas particulier l'entré est fini le nombre de possibilité de A1 est fini.
    Quand ta calculer le premier f1 combien de résultat était bon je pense que ca dépasse la moitié donc ta balayer la moitié des probabilité juste avec un seul f1 en vas vite tomber sur notre fn
    par exemple j'ai trouver f1 et f2 et f3
    En peut distinguer notre code car je force une direction a mon program je commence tout le temps par mon f1 si mon B n'est pas unique sur f1 je passe a f2 si il pas il est forcement unique a f3 .
    j'ai pas besoin d'enregistrer un Z le B=fn me suffit qui es 4 octet pour savoir dans calcule de f (Z) si il est unique ou pas.
    il suffit de trouver f1 et f2 ...fn ou n est petite est forcer une direction a la lecture d'algorithme(f1 f2 f3) pas besoin d'un z.
    Bah la le f(Z) c'est une fonction de hachage qui transforme A1 en B1 ou en peut retrouver notre A1 car notre Z a une écriture unique.
      0  5

  12. #32
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 360
    Points : 23 600
    Points
    23 600
    Par défaut
    Citation Envoyé par fanmanga Voir le message
    Mais la tu parle du cas général ou l'entré Z(A1) est infini la nous somme dans un cas particulier l'entré est fini le nombre de possibilité de A1 est fini.
    • Et c'était bien ton postulat de départ : « Est ce que avec cette méthode je peux représenter un nombre infini donc un code infini avec seulement 9 ou 8 chiffres ou voir moin? » ;
    • L'entrée n'est jamais infinie mais arbitrairement grande. Et le problème est le même : la taille de la sortie va toujours croître si la taille de l'entrée croît. Elle croîtra moins vite certes, il se peut même que sa courbe soit logarithmique, ce qui la rendra plus efficace sur de grandes quantités de données, mais elle ne pourra jamais rester constante ;
    • Par cette phrase, tu es en train de nous dire que ton résultat est de taille constante, à condition que les données d'entrée soient elles aussi de taille constante et qu'elles fassent partie d'un ensemble connu à l'avance. À ce stade, c'est facile, mais ça n'a rien de commun avec ce sur quoi tu es parti au départ.


    En peut distinguer notre code car je force une direction a mon program je commence tout le temps par mon f1 si mon B n'est pas unique sur f1 je passe a f2 si il pas il est forcement unique a f3 .
    Ce qui est valable uniquement en compression. Tu ne peux pas savoir à la décompression si les données obtenues sont valides ou pas.

    j'ai pas besoin d'enregistrer un Z le B=fn me suffit qui es 4 octet pour savoir dans calcule de f (Z) si il est unique ou pas.
    En effet, tu n'as plus besoin de Z. Il te reste le B=fn qui, lui, ne peux pas tenir éternellement sur quatre octets. Quatre octets ne te permettront que de coder les fonctions f₀ à f₄₂₉₄₉₆₇₂₉₅. Dès que tu vas passer à f₄₂₉₄₉₆₇₂₉₆, tu auras besoin de cinq octets au minimum, et ce nombre ne va cesser d'augmenter.

    il suffit de trouver f1 et f2 ...fn ou n est petite est forcer une direction a la lecture d'algorithme(f1 f2 f3) pas besoin d'un z.
    Une direction ne suffit pas. En décompressant, tu ne sauras jamais s'il faut s'arrêter ou s'il faut continuer.


    L'ennui, à ce stade, c'est que tu essaies d'aborder le problème sous tous les angles, mais tu omets à chaque fois un paramètre. Du coup, tu tournes en rond, tu perds ton temps et fait perdre celui des gens qui essaient de t'aider. Tu as suffisamment débattu du sujet et tu as obtenu les réponses aux questions que tu te poses. À présent, si tu veux aller plus loin, tu dois prendre le temps d'apprendre un langage de programmation. Choisis celui qui te plaît, le C, le Python ou autre. Ceci te donnera un bagage qui te servira pendant de nombreuses années. Lorsque tu maîtriseras suffisamment ce langage, essaie d'implémenter l'algorithme que tu nous proposes et reviens vers ce fil lorsque tu auras atteint une page qui présente réellement les résultats que tu cherches.
      4  1

  13. #33
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 038
    Points : 9 347
    Points
    9 347
    Par défaut
    fanmanga,

    Habituellement, dans un cours, c'est l'élève qui écoute le prof, et pas l'inverse. Ok, tu es d'accord avec cela, ou pas ?
    Et toi, tu es l'élève, et pas le prof. on est d'accord avec ça ou non ?

    Obsidian t'a posé 2 questions :
    À mon tour de te poser deux questions :

    Soit une variable de type unsigned int sur 32 bits, et une autre variable de type float.
    Quelles sont les valeurs minimum et maximum que l'on puisse représenter avec chacune de ces deux variables ?
    Combien de nombres différents peut-on représenter en tout avec chacune de ses deux variables ? Pourquoi ?


    Si tu réponds correctement à ces deux questions, tu auras la solution au problème qui t'occupe depuis le début de ce fil.
    Soit tu réfléchis à ces 2 questions, et tu vas apprendre 2 ou 3 trucs...
    Soit tu n'as pas envie d'apprendre, et dans ce cas là, c'est inutile de demander de l'aide.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
      11  1

  14. #34
    Inactif  
    Homme Profil pro
    extrazlove
    Inscrit en
    Juillet 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : extrazlove

    Informations forums :
    Inscription : Juillet 2015
    Messages : 103
    Points : 0
    Points
    0
    Par défaut
    Oui je vois pourquoi ca marche pas car je peux pas représenter un nombre de 10 chiffre par un nombre de 8 car je perdre de l'information donc autres possibilité sans plus représentable merci pour vos réponse dé que je trouve une méthode qui marche je veux ferais savoir car je suis certain qu s'existe car l'univers(code) a été compressé dans un point au bigbang donc une tel méthode qui compresse un code dans un point existe.
      0  9

  15. #35
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Citation Envoyé par fanmanga Voir le message
    car l'univers(code) a été compressé dans un point au bigbang donc une tel méthode qui compresse un code dans un point existe.
    Tu confonds le big bang et les trous noir, mais effectivement, ces derniers sont plutôt puissants en terme de compression. La décompression sans perte d'information de la matière présente dans un trou noir n'est cependant pas tout à fait au point, un peu comme ton algorithme d'ailleurs...
    ɹǝsn *sıɹɐlos*
      10  0

  16. #36
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Il n'est pire sourd que celui qui ne veut pas entendre.

    S'il avait tenté de répondre à nos questions, il aurait gagné du temps.
    Heureusement, son attitude "parle à mon ..., ma tête est malade" a permis de conserver un rythme de progression très lent.

    Quand aux trous noirs, rien n'indique qu'ils ne soit pas reliés à des trous blancs qui rayonnent l'énergie absorbée par les trous noirs.

    Enfin, le big bang n'a pas de rapport car le vide était déjà là. C'est comme de répartir les unités du nombre FF FF FF FF sur 1 kilo-octet obtenant 00 01 00 01 11 00 00 11 01 01 ... etc. L'énergie est concentrée mais l'espace dans lequel il se trouve n'est pas compressé.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
      4  0

  17. #37
    Inactif  
    Homme Profil pro
    extrazlove
    Inscrit en
    Juillet 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : extrazlove

    Informations forums :
    Inscription : Juillet 2015
    Messages : 103
    Points : 0
    Points
    0
    Par défaut
    j'ai trouvé autre solution je vais l'exposé bientôt.
    Au lieu d'exploiter la répétition dans un code je vais exploiter la non répétition qui existe dans n'importe quel code.
      0  4

  18. #38
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    à ce stade je serais toi je ferais directement breveter le principe, c'est de l'or en barre que tu détiens là, en continuant d'exposer tes idées tu prends le risque qu'on les comprenne et qu'on te les pique
      5  0

  19. #39
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Une patience infinie dans quatre octets voire moins ?
    Citation Envoyé par tbc92 Voir le message
    fanmanga,
    Habituellement, dans un cours, c'est l'élève qui écoute le prof, et pas l'inverse. Ok, tu es d'accord avec cela, ou pas ?
    Et toi, tu es l'élève, et pas le prof. on est d'accord avec ça ou non ?
    Très juste, mais malheureusement ...
    Citation Envoyé par Flodelarab Voir le message
    Il n'est pire sourd que celui qui ne veut pas entendre ...
    et l'on pourrait ajouter: et quand de surcroît il ne saisit pas le premier mot de toute réfutation.

    A tous les intervenants, dont l'équanimité confine à l'héroïsme, je conseille la lecture de ce livre d'histoire:

    Marie Jacob, La quadrature du cercle. Un problème à la mesure des Lumières, Paris, Fayard, 2006,571 p., ISBN 2213628602.

    afin qu'ils soient préservés de tout burn-out, ou qu'ils ne sombrent pas dans le trou noir de la dépression.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique
      4  0

  20. #40
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 038
    Points : 9 347
    Points
    9 347
    Par défaut
    Je devais aller au cinéma ce soir. J'ai annulé, pour être sûr de pouvoir être là au moment du scoop. Et puis, ce sera sûrement plus drôle que n'importe quel film.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
      1  0

Discussions similaires

  1. Compression par ondelettes/algorithme à trous
    Par Tecpoint dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 07/10/2009, 19h05
  2. Remplacer la valeur 0 par "non renseigné"
    Par mawelle dans le forum Langage
    Réponses: 2
    Dernier message: 23/06/2008, 15h03
  3. Compression par ondelette
    Par nsim dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/03/2005, 15h49
  4. Compression par Ondelette
    Par Trap D dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 20/01/2005, 20h00
  5. Compression par Huffmann dynamique
    Par kael kael dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 01/04/2004, 22h51

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