2012-02-09 3 views
2

J'essaye de mettre en application l'algorithme de division de Newton-Raphson Wikipedia entry pour implémenter un diviseur à virgule flottante de 32 bits d'IEEE-754 sur un processeur qui n'a aucune unité de division matérielle. Mes emplacements de mémoire sont des mots à deux bits de 32 bits et j'ai déjà implémenté l'addition, la soustraction et la multiplication à virgule flottante, donc je peux réutiliser le code pour implémenter l'algorithme de Newton-Raphson. J'essaie d'abord de tout mettre en œuvre à Matlab.Division Newton-Raphson pour la division en virgule flottante?

A cette étape: X_0 = 48/17-32/17 * D
Comment puis-je BitShift D correctement entre 0,5 et 1 tel que décrit dans les détails de l'algorithme?

Répondre

1

Vous pouvez regarder la bibliothèque runtime compilateur-rt (partie de LLVM), qui a une licence libérale et implémente des opérations à virgule flottante pour les processeurs qui manquent de support matériel.

Vous pouvez également regarder libgcc, même si je crois que c'est GPL, ce qui peut ou ne pas être un problème pour vous.

En fait, ne les regardez pas. Utilisez l'un d'entre eux (ou une autre bibliothèque soft-float). Il n'y a pas besoin de réinventer la roue.

Questions connexes