L'absence de la fonction puissance entière dans les bibliothèques standard de C a a soulevé des questions parmi les programmeurs. Malgré son apparente simplicité, cette fonction est visiblement absente de l'ensemble d'outils mathématiques fourni.
Avant C 11, il n'y avait pas de surcharge d'entiers dans la fonction pow. Cette omission est probablement enracinée dans le contexte historique du développement du C et du C.
Au début du C, les calculs en virgule flottante étaient moins répandus dans la programmation système. De plus, l’objectif de l’ANSI C était de codifier les pratiques existantes plutôt que d’innover. En tant que tel, l'ajout d'un opérateur de puissance intégré n'était pas une priorité.
C a initialement hérité de nombreux attributs de C. Il a été principalement conçu comme une augmentation de C avec des fonctionnalités orientées objet, plutôt que comme une refonte complète de son noyau. fonctionnalité.
Les organismes de normalisation C fonctionnent selon des directives spécifiques. Ces directives privilégient la simplicité et la cohérence du langage, limitant l'ajout de fonctionnalités redondantes ou qui se chevauchent.
De plus, les comités de normalisation doivent tenir compte du coût d'opportunité de l'introduction de nouvelles fonctionnalités. L'ajout d'une fonctionnalité apparemment triviale peut empêcher d'autres améliorations plus précieuses d'être incluses dans la norme.
Dans C 11, un changement important a été apporté : l'ajout de surcharges. qui autorisent des arguments entiers dans la fonction pow. Ce changement s'aligne sur la tendance plus large consistant à incorporer davantage de fonctionnalités mathématiques dans la bibliothèque standard.
Pour les arguments à virgule flottante, la fonction gère les débordements et les dépassements inférieurs de manière cohérente et explicite. Cependant, pour les arguments entiers, il les met à niveau en doubles pour effectuer l'opération.
L'absence de la fonction pow(int base, int exponent) dans les versions antérieures de C a été influencée par des raisons historiques et des contraintes normatives. Son introduction dans C 11 reflète l'évolution des besoins des programmeurs et l'amélioration continue des capacités de la bibliothèque standard.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3