Главная страница
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.073 c
2-1330094823
Сергей
2012-02-24 18:47
2013.03.22
Как отменить сообщения компилятора?


15-1351562934
Вепрь
2012-10-30 06:08
2013.03.22
UUID Компьютера.


2-1339072906
простофан
2012-06-07 16:41
2013.03.22
слипание форм в дельфи


15-1350966507
И. Павел
2012-10-23 08:28
2013.03.22
Чужая админка сайта или своя?


15-1351694777
Handler
2012-10-31 18:46
2013.03.22
как будет на английском