Accueil > Forum > > > > Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)
Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)
vendredi 21 octobre 2005 à 11:53:38 |
Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)

paranoman
|
Bonjour à tous, Je cherche des idées de solutions pour compresser de tres grands nombres, je parle de nombres avec plus de 500 digits, par exemple 256!. _Si je stocke "bettement" le chiffre sous sa forme decimale j'aurais 1 octet par digit, soit 507 octets. _Si je stocke ce chiffre en binaire j'arrive à 211 octets. Possibilité 1 je cherche a utiliser des algos de compressions, le problème c'est que si pars du stockage "bête", j'ai seulement 10 types de digits (0/1/2/3/4/5/6/7/8/9) et donc une forte répétitivité pour chaque digits, je peux donc m'orienter ver du Huffman ou du LZW, et là j'arrive à environ 50% de compression et donc je passe de 500o à 250o, c'est donc mauvais puisque je suis superieur à mon stockage en binaire!! Possibilité 2 toujours avec les mêmes algos de compression je pars de mon stockage binaire de 211 octets et là c'est la misere car bien sur comme le binaire vient d'un nombre il y a tres peu de répétitivité dans les octets et du coup les algos ne donne rien. J'ai vraiment besoin d'aide, si vous voulez aider, mais que vous n'avez rien suivis à mon explication, je me ferrais un plaisir de réexpliquer autrement. Merci.
|
|
vendredi 21 octobre 2005 à 12:39:21 |
Re : Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)

kortin
|
La zlib ne serait-elle pas suffisante ?
|
|
vendredi 21 octobre 2005 à 15:51:25 |
Re : Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)

paranoman
|
Merci Kortin, mais même si zlib permet un tres bon taux de compression ça ne maidera pas beaucoup, je vais essayer de reformuler un peu mon problème, en fait le fichier que je souhaite compresser et équivalent à une suite binaire de 1688 bits aleatoire de 0 ou de 1 (soit 211 octets)
Les problèmes sont que: le fichier est tres petit et a un tres faible taux de répétitivité.
|
|
vendredi 21 octobre 2005 à 16:18:07 |
Re : Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)

MrdJack
|
salut,
je pense que tu peux laisser tomber lzw, le mieux c'est d'utiliser huffman en optimisé a ton utilisation :
comme tu n'as que dix symboles possible pour chaque digit, je te conseille d'utiliser le meme principe qu'huffman
c'est a dire que le symbole le plus utilisé sera codé sur deux bits "00", le suivant sur "010" etc...
reporte toi à un tuto d'huffman poutr plus de précision.
déja ça era bien compressé, mais la plus grosse par a gagner se trouve dans l'en tete de la compression d'huffman...
en gros un simmple entete listant les dix symbole un par un en mode binaire te permet d'economiser de la place :
soit 4bits pour stocker chaque chiffre donc 10*4 = 40 bits soit 5 octect comme catalogue qui te permet de décompresser !
si tu piges pas ma facon de voir les choses, regarde bien la facon dont
est stocké l'en tete d'huffman et tu verras que c'est optimisable dans
ton cas d'utilisation...
@++
|
|
samedi 22 octobre 2005 à 08:09:48 |
Re : Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)

paranoman
|
Merci MrdJack, ça fais plaisir de voir que quelqu'un a exactement compris mon probleme, et arrrive à la même optimisation que moi, je connais bien huffman et je suis d'accord avec toi pour l'entete de 5o.
MAIS là ou tu n'as pas suivis le soucis c'est que avec le meilleurs des huffman tu passe de ce que j'appel la possibilité 1 de 507 octet à environ une compression "entre" 180o et 250o, ce qui est tres bon,
MAIS moi je souhaite essayer de partir de la possibilité 2 le nombre de 507 digit est d'abord mis en bianire (en tant que nombre pas en tant que suite de chiffre) et là il prends d'éja plus que 211 octet. et c'est sur ce fihier de 211o que je souhaite faire une reduction de l'odre de 50% (je sais je suis gourmand)
Je vais essayé de faire un exemple complet de mon soucis et de le mettre quelque part
|
|
samedi 22 octobre 2005 à 10:40:37 |
Re : Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)

Pamaury
|
ton problème me parait insoluble: faire une réduction de 50% sur un
fichier de 211 octet est utopique, les compression marchent parce qu'il
y a répétitivité ou que le fichier est gros . d'ailleurs 211 octets ne
me paraissent pas trop sxauf si c'est un point très critique de ton
applciation . Précise pourquoi tu veux autant compresser ces nombres .
A m a u r y
|
|
samedi 22 octobre 2005 à 11:58:35 |
Re : Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)

paranoman
|
Bonne question, pourqoui je veut compresser 211 octets, bah en fait j'ai plein de series de 211 octets à compresser, et là tu vas me dire qu'il faut les grouper !, et c'est surement vrai mais dans le principe ca m'arrange pas... Bon bref merci pour les conseils, mais Amaury à raison compresser 211o seuls qui n'on pas ou peu de répétitivité c'est pas gagné! je vais reprendre mon algo differemment pour faire des groupes plus long.
|
|
samedi 22 octobre 2005 à 14:24:24 |
Re : Compression de grands chiffres, ordre de grandeur 256! (superieur à 500 digits)

MrdJack
|
pourquoi pas décomposer en facteurs ? je n'ai pas essayé mais ca pourrai etre une solution...
|
|
Cette discussion est classée dans : binaire, octets, compression, digits, grands
Répondre à ce message
Sujets en rapport avec ce message
conversion decimal binaire sans connaitre la taille du nombre [ par kobee12 ]
Est ce que quelqu'un pourrait m'aider. Voici un algo qui convertit un nombre binaire en decimal :bin_digits est defini avec une taille de 10. Or j'aim
lire un fichier binaire bit par bit [ par MrDimanche ]
Bonjour,Voila mon problème : j'ai un fichier binaire à lire, et j'utilise un "ifstream" puit get... Ca marche très bien, mais ça lit les données octet
compression données [ par pic22 ]
Bonjour J’ai besoin de stocker des chaînes de 40 caractères numérique dans une eeprom de 512k et il faut compresser au maximum la chaîne de 40 octets
Recuperer les 4 octets d un float en hexadecimal ou en binaire [ par salsou34 ]
Bonjour,Afin de faire un crc32 j'aurai besoin de recuperer les octets de 6 floattants, je n'ai trouvé des solutions de crc que sur des int, et je ne p
compression LZW [ par GATERMA ]
je veux telecharger une classe qui effectue le codage LZW pour c++/builder
Problème de link? [ par Twinuts ]
<meta name="CHANGED" content="160
compression et decompression d'un fichier [ par asma ]
salut tt le monde , vous pouvez me filer un coup de main les gars ?? je veux une astuce pour compresser et decompresser un fichier (EN C++ evidemment
compression et c++ [ par fakbill ]
A l'adresse http://www.cjkware.com/wamckee/huffman.zip j'ai touvé une implémentation en c++ de l'algo de huffman.Pb: Je ne cromprends rien à la façon
codec de compression vidéo [ par jcom ]
salut ! quelqu'un aurait pas une idée (ou des liens) sur la façon de créer un codec de compression vidéo (genre divx sans la prétention) ?
Compilation avec G++ [ par merlin ]
voila je bosse sous beos linux bref sous unix et n'arrive pas a creer un fichier binaire mais pas elf ni a.out un binaire ( code machine ) y a t'il kk
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|