2014-02-19 4 views
2

Что double.MaxValue и double.MinValue означает в следующем контексте:Что означает double.MaxValue и double.MinValue в следующем контексте?

double minX, minY, maxX, maxY; 
minX = double.MaxValue; 
minY = double.MaxValue; 
maxX = double.MinValue; 
maxY = double.MinValue; 

for(int i = 0 ; i < HPts.BranchCount; i++){ 
    foreach(Point3d pt in HPts.Branch(i)){ 
    if(minX > pt.X){ 
     minX = pt.X; 
    } 

    if(minY > pt.Y){ 
     minY = pt.Y; 
    } 

    if(maxX < pt.X){ 
     maxX = pt.X; 
    } 

    if(maxY < pt.Y){ 
     maxY = pt.Y; 
    } 
+2

Это свойства типа 'double'. –

ответ

4

Они максимальные и минимальные значения, которые можно хранить в double.

Используется для определения местоположений min/max X и Y. Например, начиная с minX, установленного на максимально допустимое значение для двойника, первый раз через цикл будет равен minX > pt.X, что приведет к тому, что minX установит первое значение X. В конце концов, там будет сохранено минимальное значение для X.

0

Максимальное и минимальное значение, которое поддерживается для числа с плавающей запятой с двойной точностью. Используются значения по умолчанию/начальные значения.

Положительный/Отрицательный -> 1.7976931348623157E + 308.

http://msdn.microsoft.com/en-us/library/system.double.minvalue(v=vs.110).aspx

http://msdn.microsoft.com/en-us/library/system.double.maxvalue(v=vs.110).aspx

1

Когда вы ищете минимальное значение в коллекции, один общий подход для инициализации результата к значению, которое превышает любое возможное число в вашей коллекции. Таким образом, первое сравнение будет успешным, сделав первоначальное значение новым минимумом. double.MaxValue поставляет такое значение: другие допустимые парные разряды меньше.

Вы делаете это, когда разрешено, чтобы ваша коллекция была пуста; в противном случае вы могли бы инициализировать как текущий min, так и max для исходного элемента коллекции.

Смежные вопросы