L'opération d'addition (+) est-elle plus complexe que l'opération de comparaison (>), à la fois en nombre entier et en arithmétique en virgule flottante? J'apprécierais la réponse dans le contexte de microprocesseur et de systèmes basés sur FPGA. Je pense que la comparaison et l'addition sont la même chose quand on parle de systèmes basés sur un microprocesseur parce que la comparaison a> b peut être résolue en vérifiant le bit de signe de (a-b), c'est-à-dire une opération d'addition. Mais, dans le contexte des systèmes basés sur FPGA, je suppose que la complexité de l'opérateur de comparaison peut être réduite?Différence entre la comparaison et l'addition
Répondre
La comparaison est un peu "plus simple" pour les entiers, car nous avons seulement besoin de comparer chaque bit de msb à lsb (sans un bit de retenue, qui est nécessaire par addition). En termes de complexité, les deux sont O (log n) bien.
Mais je doute que vous puissiez réellement mesurer cette petite différence en termes d'utilisation des ressources (tranches logiques ou consommation d'énergie).
Donc, ce n'est pas utile si je convertis un algorithme basé sur des ajouts à un algorithme basé sur des comparaisons? – ubaabd
Pourquoi n'avez-vous pas simplement posé votre vraie question comme votre question - sur la façon d'optimiser quelque chose? – tenfour
@tenfour A mon avis, il est toujours préférable de poser la question spécifique sur ces forums au lieu de la mettre en général. Il y aura beaucoup de réponses à 'Comment optimiser?' alors que la seule chose que je voulais savoir si 'un ajout plus complexe que la comparaison' dans les systèmes actuels. – ubaabd
En théorie, la comparaison pourrait être plus rapide, il suffit de comparer chaque bit et cela peut être fait en parallèle. Cette comparaison se fait en deux étapes, une qui compare tous les bits, et une seconde qui vérifie si un bit est activé. (C'est techniquement (a0^b0) | (a1^b1) | ... (an^bn) Tout le ai^bi peut être fait en même temps Cela devrait être O (log (n))
Cependant, pour l'ajout, vous avez besoin de propager le report de chaque bit à l'autre si vous vous retrouvez dans O (n).
- 1. La différence entre $ * et $ @
- 2. La différence entre: + et &: +
- 3. Différence entre == et le cas?
- 4. Différence entre BOOST_CHECK_CLOSE et BOOST_CHECK_CLOSE_FRACTION?
- 5. La différence entre point et!
- 6. La différence entre "." et "$" expressions
- 7. Différence entre la méthode Get et post en comparaison avec HTTP et REST
- 8. différence de syntaxe entre ruby et python?
- 9. Comparaison entre Crystal Report et RAQ Rapport
- 10. Quelle est la différence de comparaison?
- 11. La comparaison entre HTTP et RPC
- 12. Quelle est la différence entre la comparaison et l'opérateur logique "non"?
- 13. Comparaison entre intN_t et uintN_t
- 14. VBA: Différence entre & et +
- 15. Différence entre référence et & *?
- 16. Comparaison entre textPersonName et textPassword
- 17. Comparaison entre Activiti et Camunda
- 18. Comparaison entre woodstox et sjsxp
- 19. Différence entre "**/* /" et "** /"?
- 20. Différence entre ==, = et éq
- 21. différence entre (void *) et &
- 22. Différence entre "" et String.Empty()
- 23. Différence entre fmod et%
- 24. quelle est la différence entre Struts et Tapestry framework
- 25. Différence C++ entre '//' et '///'
- 26. Différence entre sqlreader et
- 27. différence entre « :: » et « -> »
- 28. Différence entre @ et @@ instance
- 29. différence entre String.Empty et ""
- 30. différence entre la commande naturelle et la commande totale
Comment est-ce C++ lié? dans la langue (et pour les types intégraux) ils sont –
Comment définissez-vous la complexité? Sur un FPGA, je suppose que vous parlez de l'utilisation des ressources Sur un microprocesseur, je suppose que vous parlez de cycle de cycle? De toute façon, c'est probablement hors sujet, et devrait être sur http://electronics.stackexchange.com au lieu de –
afin que je puisse avoir un avis ion des développeurs C++ (pour les PC de bureau). Je sais qu'ils ne sont pas très concernés par cette chose, mais je voulais juste savoir comment les choses sont dans les microprocesseurs pour les ordinateurs de bureau. – ubaabd