C# 4.0: полное руководство | страница 39



. Ниже приведен пример программы, в которой переменная типа >byte используется для управления циклом, где суммируются числа от 1 до 100.


>// Использовать тип byte.

>using System;

>class Use_byte {

>  static void Main() {

>    byte x;

>    int sum;

>    sum = 0;

>    for(x = 1; x <= 100; x++) sum = sum + x;

>    Console.WriteLine("Сумма чисел от 1 до 100 равна " + sum);

>  }

>}


Результат выполнения этой программы выглядит следующим образом.


>Сумма чисел от 1 до 100 равна 5050


В приведенном выше примере программы цикл выполняется только от 1 до 100, что не превышает диапазон представления чисел для типа >byte, и поэтому для управления этим циклом не требуется переменная более крупного типа.

Если же требуется целое значение, большее, чем значение типа >byte или >sbyte, но меньшее, чем значение типа >int или >uint, то для него можно выбрать тип >short или >ushort.


Типы для представления чисел с плавающей точкой

Типы с плавающей точкой позволяют представлять числа с дробной частью. В C# имеются две разновидности типов данных с плавающей точкой: >float и >double. Они представляют числовые значения с одинарной и двойной точностью соответственно. Так, разрядность типа float составляет 32 бита, что приближенно соответствует диапазону представления чисел от 5Е-45 до 3,4Е+38. А разрядность типа double составляет 64 бита, что приближенно соответствует диапазону представления чисел от 5Е-324 до

1,7Е+308.

В программировании на C# чаще применяется тип >double, в частности, потому, что во многих математических функциях из библиотеки классов С#, которая одновременно является библиотекой классов для среды .NET Framework, используются числовые значения типа double. Например, метод >Sqrt(), определенный в библиотеке классов >System.Math, возвращает значение типа double, которое представляет собой квадратный корень из аргумента типа double, передаваемого данному методу. В приведенном ниже примере программы метод >Sqrt() используется для вычисления радиуса окружности по площади круга.


>// Определить радиус окружности по площади круга.

>using System;

>class FindRadius {

>  static void Main() {

>    Double r;

>    Double area;


>    area = 10.0;

>    r = Math.Sqrt(area / 3.1416);

>    Console.WriteLine("Радиус равен " + r);

>  }

>}



Результат выполнения этой программы выглядит следующим образом.


>Радиус равен 1.78412203012729


В приведенном выше примере программы следует обратить внимание на вызов метода >Sqrt(). Как упоминалось выше, метод >Sqrt() относится к классу