-
Sniper17 (04.01.05 02:08) [0]Я вот чё-то не могу понять кто из нас двоих [я или компиллер] тупой?? =8-0
program Untitled;
uses mmx, SysUtils;
var
i: TMMXINTEGER;
j: TMMXINTEGER;
//i,j:Integer;
begin
{$mmx+}
j := 0;
for i := 0 to 1000000000 do
begin
j := j + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1;
end;
{$mmx-}
WriteLn(IntToStr(j));
readln;
end.
Почему выдаёт три ошибки? -
Cobalt © (08.01.05 14:20) [1]Ну, если считать, чтоtmmxinteger = array[0..3] of integer;
то ответ, на мой взгляд, очевиден :( -
Sniper17 (08.01.05 16:56) [2]Чё-то не могу сообразить.. ж-(
-
Тогда ужеj[0] := 0;
for i[0] := 0 to 1000000000 do
begin
j[0] := j[0] + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1 + 1 - 1;
end;
{$mmx-}
WriteLn(IntToStr(j[0]));
А вообще, я не знаю интеллектуальные способности компилятора ФП, но полагаю, что он все же не настолько тупой, чтобы делать этот цикл. Его бы даже Турбо Паскаль соптимизировал в ничто -
Sniper17 (09.01.05 18:24) [4]Да ... вот только он выполняет всё как написанно ;-(
А VC соптимизировал! ;-(