Войти или зарегистрироваться
Выберите удобный способ — аккаунт создастся автоматически.
Или войдите по логину и паролю
 |
|

12.05.2008, 14:10
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 68
С нами:
9575767
Репутация:
72
|
|
|
|
|

13.05.2008, 10:31
|
|
Banned
Регистрация: 27.08.2007
Сообщений: 159
С нами:
9845666
Репутация:
171
|
|
Как узнать время выполнения какого либо участка кода в миллисекундах?
|
|
|

13.05.2008, 11:29
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
С нами:
9598011
Репутация:
50
|
|
2 !{ra!{e/\/
мда... ну и вопрос, включи моск =)
const
ms = 1/24/60/60/1000; //одна милисекунда
var
t1, t2: tdateime;
begin
t1 := now;
{Твой код}
t2 := now - t1;
ShowMessage('Твой код выполнялся:'+inttostr(trunc(t2/ms))+'милисеунд');
end;
|
|
|

13.05.2008, 11:30
|
|
Постоянный
Регистрация: 06.12.2006
Сообщений: 321
С нами:
10226273
Репутация:
370
|
|
Получай время в начале кода и в конце, а потом сверяй.
|
|
|

13.05.2008, 12:57
|
|
Banned
Регистрация: 27.08.2007
Сообщений: 159
С нами:
9845666
Репутация:
171
|
|
Сообщение от dos999
2 !{ra!{e/\/
мда... ну и вопрос, включи моск =)
я так уже пробывал...вот опять...
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
ms = 1/24/60/60/1000;
var i:integer;
t1, t2: tdatetime;
as1:array [1..1000] of integer;
begin
randomize;
t1 := now;
for i:=1 to 1000 do as1[i]:=random(40);
t2 := now - t1;
ShowMessage('Твой код выполнялся:'+inttostr(trunc(t2/ms))+'милисеунд');
end;
делаю как ты сказал выходит
Твой код выполнялся:0милисеунд
что неправильно?
|
|
|

13.05.2008, 13:27
|
|
Banned
Регистрация: 13.09.2006
Сообщений: 523
С нами:
10346786
Репутация:
925
|
|
Интересует алгоритм который узнает делиться ли число без остатка на 1024,без утомительного деления каждой части.
|
|
|

13.05.2008, 13:32
|
|
Познающий
Регистрация: 06.08.2007
Сообщений: 36
С нами:
9876570
Репутация:
10
|
|
Сообщение от !{ra!{e/\/
я так уже пробывал...вот опять...
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
ms = 1/24/60/60/1000;
var i:integer;
t1, t2: tdatetime;
as1:array [1..1000] of integer;
begin
randomize;
t1 := now;
for i:=1 to 1000 do as1[i]:=random(40);
t2 := now - t1;
ShowMessage('Твой код выполнялся:'+inttostr(trunc(t2/ms))+'милисеунд');
end;
делаю как ты сказал выходит
Твой код выполнялся:0милисеунд
что неправильно?
var
tick:integer;
begin
tick:=GetCurrentTick;
... тут код
messagebox(0,PAnsiChar('Твой код выполняется: '+inttostr(GetCurrentTick-tick)+' мс.'),'',0);
|
|
|

13.05.2008, 13:34
|
|
Познающий
Регистрация: 06.08.2007
Сообщений: 36
С нами:
9876570
Репутация:
10
|
|
Сообщение от zl0y
Интересует алгоритм который узнает делиться ли число без остатка на 1024,без утомительного деления каждой части.
Ну а в чем проблема?)
Делишь, число переводишь в string, и смотришь есть ли "," или ".", если есть, то значит число не делится без остатка  . без деления никак )
Последний раз редактировалось alamat; 13.05.2008 в 13:40..
|
|
|

13.05.2008, 13:51
|
|
Banned
Регистрация: 27.08.2007
Сообщений: 159
С нами:
9845666
Репутация:
171
|
|
Сообщение от zl0y
Интересует алгоритм который узнает делиться ли число без остатка на 1024,без утомительного деления каждой части.
if (x mod 1024)=0 then ////делится без остатка где х число
else //не делится
или я неправильно тебя понял?
|
|
|

13.05.2008, 13:52
|
|
Banned
Регистрация: 13.09.2006
Сообщений: 523
С нами:
10346786
Репутация:
925
|
|
Сообщение от alamat
Ну а в чем проблема?)
Делишь, число переводишь в string, и смотришь есть ли "," или ".", если есть, то значит число не делится без остатка  . без деления никак )
типо умный да  ) во первых IntToStr и.т.д отсекают остаток и округляют до меньшего,я работаю с большими числами 512 бит и больше
Сделал так с опр вероятностью говорит верно,но правильно ли это?
function Is1024(Number,Divider:string):boolean;
var i : integer;
begin
i:=0;
result:=true;
for I:=1 to 10 do
begin
Number:=ulDiv(Number,Divider,10);
if Number='1' then break;
if Pos('.',Number)<>0 then
begin
result:=false;
break;
end;
end;
end;
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 5 (пользователей: 0 , гостей: 5)
|
|
|
|