2011-06-30 4 views
4

Je développe une application pour un périphérique embarqué 16 bits (microcontrôleur 80251) et j'ai besoin d'une arithmétique de précision arbitraire. Est-ce que quelqu'un sait d'une bibliothèque qui fonctionne pour le 8051 ou 80251? GMP ne supporte pas explicitement le 8051, et je me méfie des problèmes que je pourrais rencontrer sur un périphérique 16 bits.Arithmétique de précision arbitraire (Bignum) pour processeur 16 bits

Merci

+0

Avez-vous envisagé d'écrire vous-même ces opérations? Le fait que vous vous méfiez des problèmes sur un périphérique 16 bits me fait penser qu'Add et Multiply serait assez facile pour vous. Mod est un peu plus de travail mais toujours faisable. – semaj

Répondre

2

Essayez this one. Ou, donnez-nous une idée de ce que vous essayez de faire avec; comprendre la charge de travail aiderait beaucoup. TTMath semble prometteur. Ou, il y a environ un zillion d'entre eux énumérés dans le Wikipedia article.

+0

J'essaie d'implémenter une base de chiffrement sur un processeur 16 bits. Évidemment, la vitesse n'est pas importante, mais je dois pouvoir travailler avec des nombres de l'ordre de 128 à 2048 bits. Donc, en fait, je n'ai * pas * besoin de précision arbitraire, mais quelque chose qui peut gérer 2048 bits au moins. Je me contenterais également d'une bibliothèque 8 bits. J'avais vérifié plusieurs du Wiki, mais aucun d'eux n'a semblé être compatible avec un 251. Merci pour votre réponse, je vérifierai vos suggestions. – Eric

+0

Je suppose que je devrais mentionner quelles opérations sont critiques: add, mul et mod sont obligatoires. Le support div et flottant n'est pas nécessaire. – Eric

+0

Optez pour une bibliothèque pure-C alors. La manipulation mineure des déclarations de taille devrait fonctionner. Honnêtement, une mise en œuvre de bignum ne devrait pas être très sensible à la taille des mots tant que vous n'essayez pas d'optimiser fortement. –