Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

Как определить, что переменная равна значениям NAN или -NAN ?   Найти похожие ветки 

 
Single3   (2006-12-25 06:10) [0]

NAN - это вообще сколько?
Я просто хочу сделать корректор, который бы проверял, и если у переменной такие значения, чтобы он их возвращал в рамки. А как это сделать?


 
Джо ©   (2006-12-25 06:11) [1]

uses Math;

IsNAN


 
Джо ©   (2006-12-25 06:12) [2]


> NAN - это вообще сколько?

NAT — это "not a number", т.е. "не число".


 
Single3   (2006-12-25 07:12) [3]

Разве single - это может быть не число?
И не число - это сколько?


 
ors_archangel ©   (2006-12-25 07:17) [4]


> И не число - это сколько?

0 / 0 = NAN, sqrt(-1) = NAN, NAN - это не число, не сколько, неопределённость либо не существует


 
Джидай   (2006-12-25 07:23) [5]

Дырка в микросхеме памяти это. Понятно?


 
ЮЮ ©   (2006-12-25 07:24) [6]


> И не число - это сколько?


Если бы можно было сказать сколько, это было бы число :)

Разве single - это может быть не число?
Очевидно, когда exponent-а "зашкалила"

function IsNan(const AValue: Single): Boolean;
begin
 Result := ((PLongWord(@AValue)^ and $7F800000)  = $7F800000) and
           ((PLongWord(@AValue)^ and $007FFFFF) <> $00000000);
end;


Даже Extended может быть, чего уж там  Single

function IsNan(const AValue: Extended): Boolean;
type
 TExtented = packed record
   Mantissa: Int64;
   Exponent: Word;
 end;
 PExtended = ^TExtented;
begin
 Result := ((PExtended(@AValue)^.Exponent and $7FFF)  = $7FFF) and
           ((PExtended(@AValue)^.Mantissa and $7FFFFFFFFFFFFFFF) <> 0);
end;


 
Single3   (2006-12-26 02:07) [7]

А -NAN ?
Такое тоже бывает.


 
Desdechado ©   (2006-12-26 10:44) [8]

минус бесконечность


 
Anatoly Podgoretsky ©   (2006-12-26 12:29) [9]

> Single3  (26.12.2006 2:07:07)  [7]

Такого не бывает, знак относится только к числам.


 
Джо ©   (2006-12-26 16:44) [10]

> [8] Desdechado ©   (26.12.06 10:44)
> минус бесконечность

За это отвечая другая константа и другая функция: NegInfinity, IsInfinity.



Страницы: 1 вся ветка

Текущий архив: 2007.01.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.072 c
15-1166631451
IMHO
2006-12-20 19:17
2007.01.14
"Война - войной, а обед - по расписанию"


2-1166552277
The X
2006-12-19 21:17
2007.01.14
Как состыковать pchar и string? {дурдом}


2-1166594381
EgorovAlex
2006-12-20 08:59
2007.01.14
Не свитывается из файла JobInfo2W: Сначала я его записываю в файл


15-1166474454
Cyrax
2006-12-18 23:40
2007.01.14
Можно ли (теоретически и практически) заюзать Xerces ?


15-1166622757
Жук Андрей
2006-12-20 16:52
2007.01.14
Требуется программист