You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mchsamples-.net-core/p02_Fondamentaux/ex_004_001_TypesNumeriques/Program.cs

80 lines
3.2 KiB

// ========================================================================
//
// Copyright (C) 2016-2017 MARC CHEVALDONNE
// marc.chevaldonne.free.fr
//
// Module : Program.cs
// Author : Marc Chevaldonné
// Creation date : 2016-09-22
// Mise à jour : 2017-10-03
//
// ========================================================================
using static System.Console;
using static System.Text.Encoding;
namespace ex_004_001_TypesNumeriques
{
class Program
{
/// <summary>
/// Dans cet exemple, plusieurs variables de différents types sont présentées. Notez qu'un constante
/// de type float nécessite un f pour être différenciée d'un double
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
OutputEncoding = UTF8;
//types entiers
byte b; //variable codée sur un octet (n'importe quelle valeur entre 0 et 255)
sbyte sb; //variable codée sur un octet mais signée (n'importe quelle valeur entre -128 et 127)
short sh; //entier signé sur 16 bits. de -32768 à 32767 (automatiquement converti en int pendant une opération arithmétique)
ushort ush; //idem short, mais non signé : de 0 à 65535
int i; //entier codé sur 32 bits.
i = 10;
uint ui; //entier non signé codé sur 32 bits.
long l; //entier signé codé sur 64 bits.
l = 10L;
ulong ul; //entier non signé codé sur 64 bits.
//types réels
float f; //codé sur 32 bits
f = 4.5f;
double d; //codé sur 64 bits
d = 4.5;
decimal dec; //codé sur 128 bits, spécialement créé pour les applications financières. Plus précis mais 10 fois plus lent.
dec = 1.2m;
//le qualificatif const permet de garantir qu'une "variable" ne sera pas modifiée
const int ci = 3;
//membres des types numériques
WriteLine($"int.MinValue = {int.MinValue}");
WriteLine($"int.MaxValue = {int.MaxValue}");
WriteLine($"float.MinValue = {float.MinValue}");
WriteLine($"float.MaxValue = {float.MaxValue}");
WriteLine($"float.Epsilon = {float.Epsilon}");
WriteLine($"float.NegativeInfinity = {float.NegativeInfinity}");
WriteLine($"float.PositiveInfinity = {float.PositiveInfinity}");
//valeurs par défaut :
//numerique : 0
//Depuis C# 7.0, il y a eu quelques améliorations dans l'écriture des constantes numériques :
// - on peut maintenant utiliser l'underscore _ pour améliorer la lisibilité des grands nombres :
d = 123_456_789;
WriteLine(d);
// - on peut également l'utiliser sur les valeurs en hexadécimal :
d = 0x7_5B_CD_15;
WriteLine(d);
// - et également sur les nombres en binaire, ce qui peut éviter d'avoir à apprendre le nombre en hexadécimal :)
d = 0b111_0101_1011_1100_1101_0001_0101;
WriteLine(d);
}
}
}