ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

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

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

13.05.2008, 11:29
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
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
Провел на форуме: 1536533
Репутация:
370
|
|
Получай время в начале кода и в конце, а потом сверяй.
|
|
|

13.05.2008, 12:57
|
|
Banned
Регистрация: 27.08.2007
Сообщений: 159
Провел на форуме: 994336
Репутация:
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
Провел на форуме: 2869410
Репутация:
925
|
|
Интересует алгоритм который узнает делиться ли число без остатка на 1024,без утомительного деления каждой части.
|
|
|

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

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

13.05.2008, 13:52
|
|
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме: 2869410
Репутация:
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;
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|