Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Real в Int


Ekzot ©   (2006-10-21 22:48:00) 

sabj


Loginov Dmitry   (2006-10-22 23:28:00) [1]

Ketmar ©   (22.10.06 9:51) [10]
примерчик можно?


Сегодня с примерчиками напряги. Как только столкнусь с подобной лажей - сообщу.


Ketmar   (2006-10-22 10:47:00) [2]

>[17] @!!ex(c) 22-Oct-2006, 10:11
>Порядка не заметил.
это была гипербола, конечно. но разница весьма ощутимая. когда я писал изовоксельный движок (хихик %-), то на грабли со скоростью наступил с размаху. %-)


PZ   (2006-10-22 10:33:00) [3]

> [15] @!!ex ©   (22.10.06 10:01)

Ваш пост [3] @!!ex ©   (21.10.06 23:06)
Trunc - тожене плохо.  (выделено мною, PZ)
соотносится с постом [1] Kolan ©   (21.10.06 22:49).
Я в [9] PZ   (22.10.06 07:48) хотел показать, что между Round и Trunc может быть существенная разница


@!!ex   (2006-10-22 10:11:00) [4]


> Ketmar ©   (22.10.06 10:03) [16]

Порядка не заметил. Отличие примерно 15%.
Посмотрел код System.pas...
Мнение о Borlande слегка испортилось....


Ketmar   (2006-10-22 10:03:00) [5]

>[15] @!!ex(c) 22-Oct-2006, 10:01
>2) Round через Trunc реализуется без проблем.
>Trunc через Round - тоже. Но это уже извращение. :)
только вот round() работает на порядок быстрее. %-)


@!!ex   (2006-10-22 10:01:00) [6]


> PZ   (22.10.06 07:48) [9]


1) В посте небыло ни слова о том что надо округлять.
2) Round через Trunc реализуется без проблем.
Trunc через Round - тоже. Но это уже извращение. :)


Kolan   (2006-10-22 09:58:00) [7]

> особенно прав в процитированном мной

Наверно имелось в виду не во всех версиях Delphi


Ketmar   (2006-10-22 09:57:00) [8]

>[12] Kolan(c) 22-Oct-2006, 09:53
>Те Loginov Dmitry прав, но так лучьше не делать... :)
особенно прав в процитированном мной в [10]?


Kolan   (2006-10-22 09:53:00) [9]

Те Loginov Dmitry прав, но так лучьше не делать... :)


Kolan   (2006-10-22 09:52:00) [10]

Real
-5.0 x 10^324 .. 1.7 x 10^308
15–16



Real48
-2.9 x 10^39 .. 1.7 x 10^38


Real48
Deprecated


А вот:
Double
-5.0 x 10^324 .. 1.7 x 10^308


The generic type Real, in its current implementation, is equivalent to Double (which maps to System.Double on .NET).
Исобссно


Note:
The six-byte Real48 type was called Real in earlier versions of Object Pascal. If you are recompiling code that uses the older, six-byte Real type in Delphi, you may want to change it to Real48. You can also use the {$REALCOMPATIBILITY ON} compiler directive to turn Real back into the six-byte type.


Ketmar   (2006-10-22 09:51:00) [11]

>[8] Loginov Dmitry(c) 21-Oct-2006, 23:52
>не везде имеется совместимость этих двух на
>первый взгляд эквивалентных типов.
примерчик можно?


PZ   (2006-10-22 07:48:00) [12]

> [3] @!!ex ©   (21.10.06 23:06)
> Trunc - тоже не плохо.

Наверно не очень хорошо:

 R := 9.8;
 I := Round(R) (= 10)
 I := Trunc(R) (=  9)


Loginov Dmitry   (2006-10-21 23:52:00) [13]

Насчет [2] - ерунда это все. По умолчанию Real и Double - это одно и тоже, о чем и упомянуто в справке. Вместе с этим я НЕ рекомендую использовать Real в качестве эквивалента Double ХОТЯБЫ потому, что не везде имеется совместимость этих двух на первый взгляд эквивалентных типов.


Gero   (2006-10-21 23:35:00) [14]

> [2] Kolan ©   (21.10.06 22:51)

Потому что в этой строке возникнет ошибка при компиляции :)


Loginov Dmitry   (2006-10-21 23:32:00) [15]

Kolan ©   (21.10.06 22:51) [2]
размышлять почему подчеркнул Double


Где подчеркнул?

:))


unknown   (2006-10-21 23:23:00) [16]


> Gero ©   (21.10.06 23:08) [4]

В переводе на русский - Ыь рщ егела?
Так бы сразу и сказал :))


Gero   (2006-10-21 23:08:00) [17]

Sm ho tutkf


@!!ex   (2006-10-21 23:06:00) [18]

Trunc - тоже не плохо.


Kolan   (2006-10-21 22:51:00) [19]

+ размышлять почему подчеркнул Double и курить справку по Real...


Kolan   (2006-10-21 22:49:00) [20]

var
 I: Integer;
 R: Double
begin
 I := Round(R);
end;

:)


Наверх

Титульная страница Поиск, карта сайта Написать письмо