Книга: C# 4.0: полное руководство
Типы для представления чисел с плавающей точкой
Типы для представления чисел с плавающей точкой
Типы с плавающей точкой позволяют представлять числа с дробной частью. В 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()
относится к классу 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 +
" i равен " + 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#
- Целочисленные типы
- Типы для представления чисел с плавающей точкой
- Десятичный тип данных
- Символы
- Логический тип данных
- Некоторые возможности вывода
- Литералы
- Более подробное рассмотрение переменных
- Область действия и время существования переменных
- Преобразование и приведение типов
- Преобразование типов в выражениях
- 2.1. Простые типы
- Типы данных float и double
- Числовые типы
- ГЛАВА 3 Типы данных, литералы и переменные
- 2.1.1. Числовые типы
- ДАННЫЕ: ТИПЫ ДАННЫХ
- Типы данных с плавающей точкой
- Типы данных для работы с датой и временем
- Большие целые типы
- Типы страниц и их использование
- 1.2.3. Константы, переменные и типы
- 4. Лекция: Типы данных