×
Traktatov.net » C# 4.0: полное руководство » Читать онлайн
Страница 31 из 650 Настройки

>

>class Inches {

>  static void Main() {

>    long inches;

>    long miles;

>    miles = 93000000; // 93 000 000 миль до Солнца

>    // 5 280 футов в миле, 12 дюймов в футе,

>    inches = miles * 5280 * 12;

>    Console.WriteLine("Расстояние до Солнца: " + inches + " дюймов.");

>  }

>}


Вот как выглядит результат выполнения этой программы.


>Расстояние до Солнца: 5892480000000 дюймов.


Очевидно, что этот результат нельзя было бы сохранить в переменной типа >int или >uint.

Самыми мелкими целочисленными типами являются >byte и >sbyte. Тип >byte представляет целые значения без знака в пределах от 0 до 255. Переменные типа >byte особенно удобны для обработки исходных двоичных данных, например байтового потока, поступающего от некоторого устройства. А для представления мелких целых значений со знаком служит тип >sbyte. Ниже приведен пример программы, в которой переменная типа >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);

>  }

>}



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