В приведенном выше примере программы цикл выполняется только от 1 до 100, что не превышает диапазон представления чисел для типа byte, и поэтому для управ ления этим циклом не требуется переменная более крупного типа.
Если же требуется целое значение, большее, чем значение типа byte или sbyte, но меньшее, чем значение типа int или uint, то для него можно выбрать тип short или ushort. Типы для представления чисел с плавающей точкой
Типы с плавающей точкой позволяют представлять числа с дробной частью. В С# имеются две разновидности типов данных с плавающей точкой: float и double. Они представляют числовые значения с одинарной и двойной точностью соответственно. Так, разрядность типа float составляет 32 бита, что приближенно соответствует диапа зону представления чисел от 5Е-45 до 3,4Е+38. А разрядность типа double составляет 64 бита, что приближенно соответствует диапазону представления чисел от 5Е-324 до 1,7Е+308.
В программировании на С# чаще применяется тип 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 относится к классу Math, поэтому в его Вызове имя Math предшествует имени самого метода. Аналогичным образом имя класса Console предшествует имени метода WriteLine в его вызове. При вызове некоторых, хотя и не всех, стандартных методов обычно указывается имя их класса, как показано в следующем примере.
В следующем примере программы демонстрируется применение нескольких три гонометрических функций, которые относятся к классу Math и входят в стандартную библиотеку классов С#. Они также оперируют данными типа double. В этом примере на экран выводятся значения синуса, косинуса и тангенса угла, измеряемого в пределах от 0,1 до 1,0 радиана. // Продемонстрировать применение тригонометрических функций. using System; class Trigonometry { static void Main { Double theta; // угол в радианах for(theta = 0.1; theta <= 1.0; theta = theta +0.1) { Console.WriteLine("Синус угла " + theta + " равен " + Math.Sin(theta)); Console.WriteLine("Косинус угла " + theta + " равен " + Math.Cos(theta)); Console.WriteLine("Тангенс угла " + theta + " равен " + Math.Tan(theta)); Console.WriteLine; } } }
Ниже приведена лишь часть результата выполнения данной программы. Синус угла 0.1 равен 0.0998334166468282 Косинус угла 0.1 равен 0.995004165278026 Тангенс угла 0.1 равен 0.100334672085451 Синус угла 0.2 равен 0.198669330795061 Косинус угла 0.2 равен 0.980066577841242 Тангенс угла 0.2 равен 0.202710035508673 Синус угла 0.3 равен 0.29552020666134 Косинус угла 0.3 равен 0.955336489125606 Тангенс угла 0.3 равен 0.309336249609623
Для вычисления синуса, косинуса и тангенса угла в приведенном выше примере были использованы стандартные методы Math.Sin, Math.Cos и Math.Tan. Как и метод Math.Sqrt, эти тригонометрические методы вызываются с аргументом типа double и возвращают результат того же типа. Вычисляемые углы должны быть указаны в радианах. Десятичный тип данных
Вероятно, самым интересным среди всех числовых типов данных в C# является тип decimal, который предназначен для применения в финансовых расчетах. Этот тип имеет разрядность 128 бит для представления числовых значений в пределах от 1Е-28 до 7,9Е+28. Вам, вероятно, известно, что для обычных арифметических вычислений с плавающей точкой характерны ошибки округления десятичных значений. Эти ошиб ки исключаются при использовании типа decimal, который позволяет представить числа с точностью до 28 (а иногда и 29) десятичных разрядов. Благодаря тому что этот тип данных способен представлять десятичные значения без ошибок округления, он особенно удобен для расчетов, связанных с финансами.