Вверх ↑
Этот топик читают: Гость
Ответов: 3349
Рейтинг: 233
#16: 2011-03-08 18:02:19 ЛС | профиль | цитата
можно запустить цикл от 0 до 1 099 511 627 776 и переводить число в nex. Правда integer для этого не подойдет. Нужен int64.
------------ Дoбавленo в 18.02:
Add(MainForm,2953706,21,105)
{
link(onCreate,7828194:doStart,[])
}
Add(InlineCode,7710145,119,119)
{
WorkPoints=#4:Enum|
EventPoints=#2:Ev|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|17: ev:THI_Event;|3: |47: procedure Enum(var _Data:TData ; idx:WORD);|5: end;|0:|14:implementation|0:|27:procedure THiAsmClass.Enum;|12:var i:int64;|8:begin |7: i:=0;|35: while i <> 1099511627776 do begin|33: _hi_OnEvent(ev,Int2Hex(i,10));|10: inc(i);|6: end;|4:end;|0:|4:end.|
link(Ev,12108361:doAdd,[])
}
Add(ListBox,12108361,168,119)
{
Left=55
Top=15
Width=165
Height=230
}
Add(Thread,7828194,70,119)
{
link(onExec,7710145:Enum,[])
}


карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#17: 2011-03-08 18:45:13 ЛС | профиль | цитата
Ivann писал(а):
можно запустить цикл от 0 до 1 099 511 627 776

до 1 099 511 627 775

Vlad.- писал(а):
5 лет и 11 терабайт

время зависит от способа хранения, но уж точно никак не 5 лет (5 часов - более приземленная цифра)
карма: 27
0
Ответов: 1821
Рейтинг: 168
#18: 2011-03-08 18:50:37 ЛС | профиль | цитата
[flood]
Black-Light писал(а):
abcdef0123456789
Black-Light, ключ BISS для тюнера строишь я такое год назад делал. за целый день прога мне делала 1000000 ключей [/flood]
карма: 5

0
Ответов: 373
Рейтинг: 108
#19: 2011-03-08 19:38:34 ЛС | профиль | цитата
Ivann,
function Int2Hex( Value : DWord; Digits : Integer ) : String;
DWord = от 0 до 4294967295
------------ Дoбавленo в 19.38:
замер на 100000 итерациях без сохранения

1.815 лет.
21.778 месяцев.
653.344 дней.
15680.257 часов.
Intel(R) Celeron(R) CPU 2.66GHz (3002) x1
Add(MainForm,8601207,133,245)
{
Width=381
Height=197
}
Add(Button,5896393,133,322)
{
Left=5
Top=15
link(onClick,13093682:doOpen,[])
}
Add(Thread,12244733,273,343)
{
Delay=0
FastStop=0
Point(doStopFlag)
link(onExec,16633085:doFor,[])
}
Add(For,16633085,336,343)
{
End=15
link(onEvent,11082699:doFor,[])
}
Add(For,11082699,378,343)
{
End=15
link(onEvent,6240672:doFor,[])
}
Add(ArrayRW,4476080,329,434)
{
link(onRead,14388812:doRead,[])
link(Array,6330577:getVar,[])
link(Index,16633085:Position,[])
}
Add(For,6240672,420,343)
{
End=15
link(onEvent,14262954:doFor,[])
}
Add(ArrayRW,14388812,371,434)
{
link(onRead,3131217:doRead,[])
link(Array,14005593:getVar,[])
link(Index,11082699:Position,[])
}
Add(ArrayRW,3131217,413,434)
{
link(onRead,5516243:doRead,[])
link(Array,1285453:getVar,[])
link(Index,6240672:Position,[])
}
Add(FormatStr,4992708,504,567)
{
DataCount=10
Mask="%1%2%3%4%5%6%7%8%9%10"
link(onFString,8924358:doWork,[])
link(Str1,4476080:Item,[(510,509)(335,509)])
link(Str2,14388812:Item,[(517,509)(377,509)])
link(Str3,3131217:Item,[(524,509)(419,509)])
link(Str4,5516243:Item,[(531,509)(461,509)])
link(Str5,4963228:Item,[(538,509)(503,509)])
link(Str6,7673085:Item,[])
link(Str7,15292453:Item,[(552,509)(587,509)])
link(Str8,12406085:Item,[(559,509)(629,509)])
link(Str9,9019783:Item,[(566,509)(671,509)])
link(Str10,7244803:Item,[(573,517)(713,517)])
}
Add(StrList,4132568,532,224)
{
Strings=#1:a|1:b|1:c|1:d|1:e|1:f|1:0|1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|
}
Add(ArrayRW,5516243,455,434)
{
link(onRead,4963228:doRead,[])
link(Array,1034200:getVar,[])
link(Index,14262954:Position,[])
}
Add(ArrayRW,4963228,497,434)
{
link(onRead,7673085:doRead,[])
link(Array,15391330:getVar,[])
link(Index,9276451:Position,[])
}
Add(ArrayRW,7673085,539,434)
{
link(onRead,15292453:doRead,[])
link(Array,5946425:getVar,[])
link(Index,12709699:Position,[])
}
Add(ArrayRW,15292453,581,434)
{
link(onRead,12406085:doRead,[])
link(Array,1789727:getVar,[])
link(Index,9245111:Position,[])
}
Add(ArrayRW,12406085,623,434)
{
link(onRead,9019783:doRead,[])
link(Array,13946401:getVar,[])
link(Index,3410977:Position,[])
}
Add(ArrayRW,9019783,665,434)
{
link(onRead,7244803:doRead,[])
link(Array,2718655:getVar,[])
link(Index,5113575:Position,[])
}
Add(ArrayRW,7244803,707,434)
{
link(onRead,9773419:doWork,[(751,440)(751,529)(405,529)(405,573)])
link(Array,994490:getVar,[])
link(Index,5779019:Position,[])
}
Add(For,14262954,462,343)
{
End=15
link(onEvent,9276451:doFor,[])
}
Add(For,9276451,504,343)
{
End=15
link(onEvent,12709699:doFor,[])
}
Add(For,12709699,546,343)
{
End=15
link(onEvent,9245111:doFor,[])
}
Add(For,9245111,588,343)
{
End=15
link(onEvent,3410977:doFor,[])
}
Add(For,3410977,630,343)
{
End=15
link(onEvent,5113575:doFor,[])
}
Add(For,5113575,672,343)
{
End=15
link(onEvent,5779019:doFor,[])
}
Add(For,5779019,714,343)
{
End=15
link(onEvent,7192508:doEvent1,[])
}
Add(LineBreakEx,6330577,329,406)
{
Type=2
}
Add(LineBreakEx,14005593,371,406)
{
Type=2
}
Add(LineBreakEx,1285453,413,406)
{
Type=2
}
Add(LineBreakEx,1034200,455,406)
{
Type=2
}
Add(LineBreakEx,15391330,497,406)
{
Type=2
}
Add(LineBreakEx,5946425,539,406)
{
Type=2
}
Add(LineBreakEx,1789727,581,406)
{
Type=2
}
Add(LineBreakEx,13946401,623,406)
{
Type=2
}
Add(LineBreakEx,2718655,665,406)
{
Type=2
}
Add(LineBreakEx,994490,707,406)
{
Type=2
}
Add(LineBreakEx,8958482,546,280)
{
Type=3
link(_Data,4132568:Array,[])
}
Add(DataToFile,2218843,693,567)
{
Type=7
link(Stream,13093682:Stream,[(699,551)(188,551)])
}
Add(FileStream,13093682,182,322)
{
FileName="table.txt"
Mode=1
link(onLoad,7634472:doEvent1,[])
}
Add(Counter,11099355,819,350)
{
Max=1316134912
link(onNext,15684724:doCompare,[])
}
Add(Hub,7192508,784,343)
{
link(onEvent1,4476080:doRead,[(810,349)(810,395)(317,395)(317,440)])
link(onEvent2,11099355:doNext,[])
}
Add(If_else,15684724,875,350)
{
Op2=String(10000000)
link(onTrue,3460020:doStop,[(926,356)(926,328)])
link(Op2,1883775:getVar,[])
}
Add(TimeCounter,3460020,945,315)
{
link(onStop,8673352:doValue,[])
}
Add(Hub,7634472,231,322)
{
link(onEvent1,3460020:doStart,[(616,328)(616,321)])
link(onEvent2,12244733:doStart,[(259,335)(259,349)])
}
Add(Memory,13542787,882,210)
{
Default=String(100000)
}
Add(MathParse,15410927,1036,322)
{
MathStr="round(((1099511627776 / %2) * %1) / ((1000 * 60 * 60 * 24 * 30) * 12),0.001)"
link(onResult,10404505:doCalc,[])
link(X2,15602127:getVar,[])
}
Add(FormatStr,15892821,1295,322)
{
DataCount=7
Mask="%1 лет.
%2 месяцев.
%3 дней.
%4 часов.
%5 (%6) x%7"
link(onFString,8746492:doText,[])
link(Str1,8264342:getVar,[])
link(Str2,7089144:getVar,[])
link(Str3,6379398:getVar,[])
link(Str4,7989377:getVar,[])
link(Str5,15188319:ExtendedCpuName,[])
link(Str6,15188319:Frequency,[])
link(Str7,15188319:CPUCount,[(1343,264)(1350,264)])
}
Add(MathParse,10404505,1099,322)
{
MathStr="round(((1099511627776 / %2) * %1) / ((1000 * 60 * 60 * 24) * 30),0.001)"
link(onResult,5268900:doCalc,[])
link(X1,15430332:getVar,[])
link(X2,8159164:getVar,[])
}
Add(Memo,8746492,1379,301)
{
Left=70
Top=15
Width=295
Height=130
}
Add(Memory,8673352,987,322)
{
link(onData,15410927:doCalc,[])
}
Add(MathParse,5268900,1169,322)
{
MathStr="round(((1099511627776 / %2) * %1) / ((1000 * 60 * 60) * 24),0.001)"
link(onResult,7675235:doCalc,[])
link(X1,4570944:getVar,[])
link(X2,1626419:getVar,[])
}
Add(LineBreakEx,16671208,882,259)
{
Caption="i"
Type=3
link(_Data,13542787:Value,[])
}
Add(LineBreakEx,1883775,882,294)
{
Caption="i"
Type=2
}
Add(LineBreakEx,8159164,1106,273)
{
Caption="i"
Type=2
}
Add(LineBreakEx,15602127,1043,280)
{
Caption="i"
Type=2
}
Add(LineBreakEx,1626419,1176,273)
{
Caption="i"
Type=2
}
Add(LineBreakEx,14882617,987,364)
{
Caption="m"
Type=3
link(_Data,8673352:Value,[])
}
Add(LineBreakEx,15430332,1099,252)
{
Caption="m"
Type=2
}
Add(LineBreakEx,4570944,1169,252)
{
Caption="m"
Type=2
}
Add(LineBreakEx,2202774,1036,364)
{
Caption="Year"
Type=3
link(_Data,15410927:Result,[])
}
Add(LineBreakEx,14932247,1099,364)
{
Caption="Month"
Type=3
link(_Data,10404505:Result,[])
}
Add(LineBreakEx,3336385,1169,364)
{
Caption="Day"
Type=3
link(_Data,5268900:Result,[])
}
Add(Check,8924358,609,567)
{
Check=1
link(onEvent,2218843:doPut,[])
}
Add(MathParse,7675235,1218,322)
{
MathStr="round(((1099511627776 / %2) * %1) / ((1000 * 60) * 60),0.001)"
link(onResult,15892821:doString,[])
link(X1,651301:getVar,[])
link(X2,3600136:getVar,[])
}
Add(LineBreakEx,3600136,1225,273)
{
Caption="i"
Type=2
}
Add(LineBreakEx,651301,1218,252)
{
Caption="m"
Type=2
}
Add(LineBreakEx,9441837,1218,364)
{
Caption="Hour"
Type=3
link(_Data,7675235:Result,[])
}
Add(LineBreakEx,8264342,1295,280)
{
Caption="Year"
Type=2
}
Add(LineBreakEx,7089144,1302,259)
{
Caption="Month"
Type=2
}
Add(LineBreakEx,6379398,1309,238)
{
Caption="Day"
Type=2
}
Add(LineBreakEx,7989377,1316,217)
{
Caption="Hour"
Type=2
}
Add(Check,9773419,427,567)
{
link(onEvent,4992708:doString,[])
}
Add(CPU,15188319,1323,175)
{
}



карма: 0

0
Ответов: 356
Рейтинг: 31
#20: 2011-03-08 20:04:49 ЛС | профиль | цитата
Создание бинарного списка (строки) из HEX чисел от 000000 до FFFFFF заняло несолько минут + минута для записи на диск (50 331 648 байт).
Перед записью списка в файл, программа занимала в памяти примерно 240 Мб и около 370 Мб в виртуальной памяти.
Попытка генерации числа из семи байт (на моей машине) приводила к RunTime где-то после 36-го миллиона чисел.
code_22863.txt
карма: 0

0
файлы: 1code_22863.txt [2.1KB] [100]
Ответов: 3349
Рейтинг: 233
#21: 2011-03-08 20:26:19 ЛС | профиль | цитата
code_22864.txt
карма: 1

0
файлы: 1code_22864.txt [1.7KB] [114]
21
Сообщение
...
Прикрепленные файлы
(файлы не залиты)