Maison >développement back-end >C++ >Comment les normes C prennent-elles en compte les architectures exotiques comme les serveurs Unisys ClearPath Dorado ?

Comment les normes C prennent-elles en compte les architectures exotiques comme les serveurs Unisys ClearPath Dorado ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-22 00:44:30989parcourir

How Do C   Standards Account for Exotic Architectures Like the Unisys ClearPath Dorado Servers?

Les architectures exotiques et les préoccupations des comités de normalisation

Les normes C et C laissent intentionnellement certains aspects de l'implémentation du langage indéfinis pour s'adapter aux architectures avec des caractéristiques. Bien que la plupart des ordinateurs modernes adhèrent à des architectures standard, il existe des exceptions qui démontrent le besoin de flexibilité dans la conception du langage.

Archites exotiques aux propriétés uniques

Considérez le ClearPath Dorado d'Unisys. Serveurs, qui offrent une compatibilité descendante avec les logiciels existants. Ces serveurs présentent des propriétés exceptionnelles qui s'écartent de la norme :

  • CHAR_BIT = 9 : Cette architecture utilise des caractères de 9 bits au lieu du standard typique de 8 bits.
  • Arithmétique du complément à un : Contrairement à la représentation courante du complément à deux, les serveurs Dorado utilisent le complément à un pour les nombres signés.
  • Point flottant non IEEE 72 bits : Les opérations à virgule flottante sur les serveurs Dorado utilisent un format 72 bits qui n'est pas conforme au codage binaire IEEE 754.

Implications pour C Portabilité

Bien que C encourage la portabilité en laissant certains aspects de bas niveau indéfinis, il n'impose pas de tailles de données ou de représentations arithmétiques spécifiques. Cela permet une flexibilité dans le portage du code vers des architectures uniques telles que les serveurs Dorado, évitant ainsi le besoin d'une émulation qui pourrait avoir un impact sur l'efficacité.

Étude de cas : Compilateur Unisys C

Fait intéressant , Unisys propose un compilateur C pour les serveurs Dorado. Ce compilateur présente les types de données suivants :

  • caractères de 9 bits
  • entiers de 18 bits
  • mots de 36 bits
  • 72 bits virgule flottante

L'existence d'un compilateur C pour une architecture aussi inhabituelle démontre la prévoyance de comités de normalisation pour s'adapter aux implémentations exotiques et à l'importance de l'abstraction dans la conception du langage pour la portabilité sur diverses plates-formes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn