Exporter (0) Imprimer
Développer tout

Single, structure

Mise à jour : novembre 2007

Représente un nombre à virgule flottante simple précision.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Single : IComparable, IFormattable, 
	IConvertible, IComparable<float>, IEquatable<float>
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
public final class Single extends ValueType implements IComparable, 
	IFormattable, IConvertible, IComparable<float>, IEquatable<float>
JScript prend en charge l'utilisation de structures mais pas la déclaration de nouvelles structures.

Le type valeur Single représente un nombre 32 bits simple précision dont les valeurs varient de moins 3,402823e38 à plus 3,402823e38, ainsi que plus zéro ou moins zéro, PositiveInfinity, NegativeInfinity et pas un nombre (NaN).

Single est conforme à la norme IEC 60559:1989 (IEEE 754) d'arithmétique binaire à virgule flottante.

Single fournit les méthodes permettant de comparer les instances de ce type, de convertir la valeur d'une instance en sa représentation sous forme de chaîne et de convertir la représentation sous forme de chaîne d'un nombre en instance de ce type. Pour plus d'informations sur la façon dont les codes de spécification de format contrôlent la représentation sous forme de chaîne des types valeur, consultez Vue d'ensemble des formats, Chaînes de format numériques standard et Chaînes de format numériques personnalisées.

Utilisation de nombres à virgule flottante

Si, au cours d'opérations binaires, l'un des opérandes est de type virgule flottante Single ou Double, l'autre opérande doit alors être de type intégral ou de type virgule flottante. L'opération est évaluée de la manière suivante :

  • Si l'un des opérandes est de type intégral, cet opérande est alors converti en type virgule flottante de l'autre opérande.

  • Ensuite, si l'un des opérandes est Double, l'autre opérande est alors converti en Double et l'opération est effectuée avec au minimum la précision et la plage de Double. Pour les opérations numériques, le type du résultat est Double.

  • Sinon, l'opération est effectuée avec au minimum la précision et la plage du type Single et, pour les opérations numériques, le type du résultat est Single.

Les opérateurs à virgule flottante, y compris les opérateurs d'assignation, ne lèvent pas d'exceptions. Dans des cas exceptionnels, le résultat d'une opération en virgule flottante est zéro, infini ou NaN, comme indiqué ci-dessous :

  • Si le résultat d'une opération en virgule flottante est trop petit pour le format de destination, le résultat de l'opération est alors zéro.

  • Si le résultat d'une opération en virgule flottante est trop grand pour le format de destination, le résultat de l'opération est alors PositiveInfinity ou NegativeInfinity, en fonction du signe du résultat.

  • Si une opération en virgule flottante n'est pas valide, le résultat de l'opération est alors NaN.

  • Si un ou deux opérandes d'une opération en virgule flottante sont NaN, le résultat de l'opération est alors NaN.

Souvenez-vous qu'un nombre à virgule flottante ne peut se rapprocher qu'approximativement d'un nombre décimal, et que la précision d'un nombre à virgule flottante détermine dans quelle mesure il se rapproche d'un nombre décimal. Même si 9 chiffres maximum sont gérés en interne, la précision de la valeur Single ne comporte par défaut que 7 chiffres décimaux. La précision d'un nombre à virgule flottante a plusieurs conséquences :

  • Deux nombres à virgule flottante qui apparaissent égaux à un niveau de précision particulier peuvent ne pas être égaux parce que leurs chiffres les moins significatifs sont différents.

  • Une opération mathématique ou de comparaison qui utilise un nombre à virgule flottante peut pas avoir le même résultat si un nombre décimal est utilisé, car le nombre à virgule flottante peut ne pas se rapprocher exactement du nombre décimal.

  • Une valeur peut ne pas effectuer un aller-retour si un nombre à virgule flottante est impliqué. Une valeur est décrite comme effectuant un aller-retour si une opération convertit un nombre à virgule flottante d'origine dans une autre forme, si une opération inverse transforme la forme convertie en nombre à virgule flottante, et si le dernier nombre à virgule flottante est égal au nombre à virgule flottante d'origine. L'aller-retour peut échouer parce qu'un ou plusieurs chiffres moins significatifs sont perdus ou modifiés au cours d'une conversion.

Implémentations d'interface

Ce type implémente les interfaces IComparable, IComparable<T>, IFormattable et IConvertible. Pour les conversions, utilisez la classe Convert au lieu de l'implémentation du membre d'interface explicite de IConvertible de ce type.

Tous les membres de ce type sont thread-safe. Les membres qui semblent modifier l'instance d'état retournent, en réalité, une nouvelle instance initialisée avec la nouvelle valeur. Comme avec tout autre type, la lecture et l'écriture sur une variable partagée qui contient une instance de ce type doivent être protégées par un verrou pour garantir la sécurité des threads.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0, 1.0

XNA Framework

Pris en charge dans : 2.0, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft