Pas nécessairement, je ne pense pas que prendre le modulo nécessite un test, par exemple.
Mais peut-être qu'un circuit électronique faisant le test peut avoir une différence de coût ou de performance. Le C prend en compte que le langage sera utilisé sur des plate-formes inconnues au moment de son élaboration, et laisse des comportements indéfinis ou des comportements définis par l'implémentation pour permettre d'exploiter au mieux le matériel.
Éventuellement, le standard pourrait définir plusieurs comportements en fonction de l'architecture, ce qui est pas pareil qu'un comportement indéfini.
C'est tout à fait illusoire, et non-souhaitable. Quand on voit déjà le temps de gestation d'une nouvelle norme, rajouter cette contraire est au mieux stupide. Les comportements indéfinis ou laissé au bon-vouloir de l'implémentation permettent au C d'être portable sur n'importe quelle plate-forme.
Ça pourrait ne pas être énorme.
Si c'était vrai, depuis 40 ans que le C existe, je crois que les mainteneurs du standard aurait fait quelque chose.
[^] # Re: Une chose que j'ai oublié d'ajouter
Posté par LupusMic (site web personnel, Mastodon) . En réponse à la dépêche Le langage Rust en version 1.0 alpha, on arrête de tout casser !. Évalué à 2.
Mais peut-être qu'un circuit électronique faisant le test peut avoir une différence de coût ou de performance. Le C prend en compte que le langage sera utilisé sur des plate-formes inconnues au moment de son élaboration, et laisse des comportements indéfinis ou des comportements définis par l'implémentation pour permettre d'exploiter au mieux le matériel.
C'est tout à fait illusoire, et non-souhaitable. Quand on voit déjà le temps de gestation d'une nouvelle norme, rajouter cette contraire est au mieux stupide. Les comportements indéfinis ou laissé au bon-vouloir de l'implémentation permettent au C d'être portable sur n'importe quelle plate-forme.
Si c'était vrai, depuis 40 ans que le C existe, je crois que les mainteneurs du standard aurait fait quelque chose.