Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Int vs. Trunc 
:(
    Опции темы
Limpopo
Дата 9.11.2006, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 20.9.2006

Репутация: нет
Всего: 1



Зачем нужна функция Int, если есть Trunc?


help

PM MAIL   Вверх
boevik
Дата 9.11.2006, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: нет
Всего: 35



Разница при работе с отрицательными числами.
Trunc - отрезает дробную часть
Int - понижает до ближайшего целого числа.

Trunc(-8.9) -> -8
Int((-8.9) -> -9


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
volvo877
Дата 9.11.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(boevik @  9.11.2006,  07:16 Найти цитируемый пост)
Trunc(-8.9) -> -8
Int((-8.9) -> -9 

Ничего подобного... И то и другое вернет -8... Проверь:
Код

begin
  writeln(Trunc(-8.9));
  writeln(Int(-8.9));
end.


Разница - в типе возвращаемого значения, если ты не заметил... Int возвращает результат типа Real, а Trunc - целочисленный...

Это сообщение отредактировал(а) volvo877 - 9.11.2006, 11:03
PM MAIL   Вверх
Alexeis
Дата 9.11.2006, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



У них вроде как суть разная. Trunc - Округление с отсечением. Т.е. перевод числа из дробного в целое.
Int - же это функция, которая возвращает целую часть дробного числа. 
Int вместе с Frac - образуют группу функций позволяющих работать делить число с плавающей точкой. (делить в смысле разделять)


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
volvo877
Дата 9.11.2006, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(alexeis1 @  9.11.2006,  10:14 Найти цитируемый пост)
Trunc - Округление с отсечением. Т.е. перевод числа из дробного в целое.
Int - же это функция, которая возвращает целую часть дробного числа. 

В таком случае можно пример числа, на котором Int и Trunc дадут разные результаты при прогоне программы в Паскале?
PM MAIL   Вверх
Alexeis
Дата 9.11.2006, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



я говорил про суть, а не результат. Это немного разные понятия.
Цитата(alexeis1 @  9.11.2006,  11:14 Найти цитируемый пост)
У них вроде как суть разная

Приведу пример, когда результат получается одинаковый, но суть все же разная.
Например если в делфях написать
var
  s : AnsiString;
или 
var
  s : String;

при обычных настройках, результат будет одинаков, но суть все же разная. В первом случае, я говорю мне нужна именно такая строка и никакая другая. Во втором случае, я говорю мне просто нужная строка, а какой она будет это как компилятор решит. 2 - е описание может быть универсальным, тогда как первое однозначно. 

Мне кажется, что тут ситуация аналогичная. Хотя и тут результат немного отличается т.е. в определенных случаях Int будет быстрее, так она не требует двойного преобразования типов 
real -> Integer-> real (если присвоение результата идет переменной с плавающей точкой).


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.