Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2009, 14:33   #21
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
mutabor
Я имел ввиду что когда ты пишешь
A:integer
a:=233
то используется Smallint
т.е. Делфи смотрит какой тип предпочтительнее когда обьявляем integer
Цитата:
Насчет Int64 ничего сказать не могу, как вариант, может использоваться специальная версия Val.
Попробуй. обычного должно хватить.
Впрочем никто не мешает тебе написать его аналог самому на асме.
I'm learning to live...

Последний раз редактировалось Stilet; 07.07.2009 в 14:37.
Stilet вне форума Ответить с цитированием
Старый 07.07.2009, 14:36   #22
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Насчет Int64 ничего сказать не могу, как вариант, может использоваться специальная версия Val.
По вашему алгоритму я сказать ничего не могу, т.к. вникать долго, а функцию Val использовал, так что можно обсудить )
Используется все та же функция, она не перегружена в Дельфи, а тип параметра явно не указан, как в StrToInt например, вот и можно поэтому любой передать, и работает что самое главное.

Цитата:
Я имел ввиду что когда ты пишешь
A:integer
a:=233
то используется Smallint
т.е. Делфи смотрит какой тип предпочтительнее когда обьявляем integer
У меня есть сомнения по этому поводу. Я объявил 4-х байтную переменную, она что ее заменяет на меньшую что-ли? А если в следующей строке мне вздумается пару миллиардов присвоить? Она тогда должна обратно ее расширить, хотя спорить не буду может так и есть.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 07.07.2009 в 14:40.
mutabor вне форума Ответить с цитированием
Старый 07.07.2009, 14:42   #23
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Шаблоны в Делфи ?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 07.07.2009, 14:54   #24
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
mutabor
Не, он при компиляции анализирует какой размер нужен )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.07.2009, 14:59   #25
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

2Stilet

А что, если при компиляции было число маленьким, а в процессе работы стало огромным?
psycho-coder вне форума Ответить с цитированием
Старый 07.07.2009, 16:01   #26
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от psycho-coder Посмотреть сообщение
2Stilet

А что, если при компиляции было число маленьким, а в процессе работы стало огромным?
Иногда просматривая текст программы можно определить максимально возможно значение переменной:

Код:
function Crazy(): Integer;
var
    x: Integer;
begin
    
    x:=1;
    result:=x;
end;
Притянуто за уши, но общее представление дает.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 07.07.2009, 16:23   #27
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А что, если при компиляции было число маленьким, а в процессе работы стало огромным?
Такое только в интерпретаторах возможно )
Компиляторы же изначально подбирают для всего единое "измерение"

Ну это конечно если специально не заставить программу работать с динамическим массивом )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.07.2009, 16:32   #28
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Ну это конечно если специально не заставить программу работать с динамическим массивом )
Вот что и хотел узнать.
И все же, если прога по вычислению каких нибудь математических задач?
psycho-coder вне форума Ответить с цитированием
Старый 07.07.2009, 16:53   #29
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
И все же, если прога по вычислению каких нибудь математических задач?
Все равно дальше размера регистров процессора не прыгнуть. int64 насколько я знаю необычный тип целого а запись.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.07.2009, 17:09   #30
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Да, есть такая структура - Int64Rec.
Однако с Int64 Delphi позволяет работать как с обычной переменной, поддерживаются арифметические операции и т.д.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите оптимизировать! kievlyanin Microsoft Office Excel 11 28.04.2009 14:19
Оптимизировать код. Манжосов Денис :) Общие вопросы Delphi 1 20.10.2008 19:06
Можно ли оптимизировать формулу? дмидми Microsoft Office Excel 3 12.08.2008 11:28
Помогите оптимизировать! Altera Общие вопросы Delphi 6 25.03.2008 20:09
Оптимизировать код NeiL Помощь студентам 2 21.02.2008 08:57