- Un article sur le concept de complétude fonctionnelle dans le contexte de la soustraction en virgule flottante IEEE-754
- Explication montrant que tous les circuits binaires peuvent être construits en n’utilisant que la soustraction en virgule flottante
- Explication détaillée de la norme IEEE 754-2019, section 6.3, et des bits de signe ainsi que des règles appliquées lorsque les opérandes ou le résultat valent zéro ou l’infini
- L’auteur montre comment la soustraction peut être considérée comme une addition, et comment zéro peut avoir un signe, avec
-0 et +0 comme entités distinctes
- Présentation d’une table de vérité montrant le résultat d’une soustraction impliquant zéro, avec l’idée que
-0 représente faux et +0 représente vrai
- La table de vérité obtenue est équivalente à A∨¬B ou B→A (également connue sous le nom de porte IMPLY), ce qui est fonctionnellement complet
- L’auteur explique que NAND et NOR sont eux-mêmes fonctionnellement complets sans nécessiter l’accès à certaines valeurs constantes
- Une démonstration en Python montrant comment construire une porte NOT et une porte OR à l’aide de la soustraction en virgule flottante
- L’auteur montre comment utiliser OR et NOT pour construire d’autres portes comme AND et XOR
- L’article se conclut par une implémentation en Rust d’entiers utilisant uniquement des opérations en virgule flottante, montrant comment additionner deux entiers de 8 bits à l’aide d’instructions en virgule flottante
1 commentaires
Il y a une erreur dans le titre. Cela ne veut pas dire que la soustraction est achevée, mais qu’elle est dite fonctionnellement complète au sens où toutes les fonctions peuvent être exprimées à l’aide de la soustraction.