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

Вниз

Возведение в квадрат   Найти похожие ветки 

 
Andrey K   (2012-08-07 16:28) [0]

Почему:

var
 i: integer;
 i1: double;
begin

 i := 100000;
 i1 := sqr(i);
end;
Результат: i1=1410065408 ???


 
Andrey K   (2012-08-07 16:30) [1]

И как с этим бороться?


 
MBo ©   (2012-08-07 16:36) [2]

Вычисления проводятся с целым типом, происходит переполнение, а приведение к double - уже потом.
i1 := i;
i1 := Sqr(i1);


 
Andrey K   (2012-08-07 16:39) [3]

Спасибо. А то у меня уже мозг снесло.


 
Anatoly Podgoretsky ©   (2012-08-07 16:42) [4]

> Andrey K  (07.08.2012 16:30:01)  [1]

Потому что их две функции с одинаковым именем, ты используешь не ту.


 
Andrey K   (2012-08-07 16:49) [5]

Про это я читал. А как использовать ту?


 
Anatoly Podgoretsky ©   (2012-08-07 16:54) [6]

> Andrey K  (07.08.2012 16:49:05)  [5]

Ту, которая Extended
Для этого смени тип с Integer на Extended
Да и включи проверку переполнения в компиляторе


 
ProgRAMmer Dimonych ©   (2012-08-07 16:56) [7]

Интересно, кстати, мнение коллег по поводу варианта

i1 := Sqr(Extended(i));

Плюсы, минусы, подводные камни?


 
Anatoly Podgoretsky ©   (2012-08-07 16:59) [8]

> ProgRAMmer Dimonych  (07.08.2012 16:56:07)  [7]

Зачем, когда проще I: Extended;


 
AV ©   (2012-08-07 17:13) [9]


> i1 := Sqr(Extended(i));
>
> Плюсы, минусы, подводные камни?

D7 Invalid typecast


 
Andrey K   (2012-08-07 23:58) [10]

Спасибо всем за помощь. Прога работала уже лет семь. Я считал её отлаженной. Ан нет.


 
NoUser   (2012-08-08 21:43) [11]

А эта прога со спутниками никак не связана? Ж)


 
Jeer ©   (2012-08-08 21:49) [12]


> А эта прога со спутниками никак не связана?


Да и пусть "связана" со спутниками.
Важнее,чтобы не была связана с атомщиками :)


 
Германн ©   (2012-08-09 02:30) [13]


> Jeer ©   (08.08.12 21:49) [12]
>
>
> > А эта прога со спутниками никак не связана?
>
>
> Да и пусть "связана" со спутниками.
> Важнее,чтобы не была связана с атомщиками :)

У атомщиков всё-таки меньше программистов, но больше железячников! :)


 
Anatoly Podgoretsky ©   (2012-08-09 08:36) [14]

> Германн  (09.08.2012 02:30:13)  [13]

Хватит и одного, достаточно возвести в квадрат.



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

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

Наверх




Память: 0.49 MB
Время: 0.059 c
1-1268122509
Сергей М.
2010-03-09 11:15
2013.03.22
AV при использовании юнита Variants


15-1352118828
Artem
2012-11-05 16:33
2013.03.22
Проблемы с мышкой


15-1345003504
Natali_g
2012-08-15 08:05
2013.03.22
cgi iis7


2-1337336308
leklerk
2012-05-18 14:18
2013.03.22
Проверка, работает ли компьютер


15-1339946385
Artem
2012-06-17 19:19
2013.03.22
Откуда-то появился Norton Internet Security