>
>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);
> }
>}
Результат выполнения этой программы выглядит следующим образом.