Вниз
Скачать: CL | DM;

вот знаете что то при n = 31 не считает   Найти похожие ветки 

 
KingDog   (2005-02-10 10:37) [0]

(программа вычисляет степень числа 2)
для n = 1 до 30 работает замечательно а вот при n = 31
какой то гон отрицательное число получается

 n := StrToInt(Edit1.Text);
 Count := 1;
 For n := 1 to n do
 begin
 For I := 1 to Count do
 Count := Count + 1;
 end;
 Edit1.Text := IntToStr(Count);

если кто знаете напишите (да кстати данный код рабочий
все переменные типа integer :-) )


 
mojerat   (2005-02-10 10:39) [1]

да код интерестный а ты уверен что он  работает


 
Плохиш ©   (2005-02-10 10:41) [2]

Странно, всегда считал, что "степень числа 2" вычисляется перемножением двоек или смещением бита.


 
Romkin ©   (2005-02-10 10:43) [3]

Это ж надо так написать :))) Кстати, есть теги code, весьма рекомендую использовать, читать неудобно без них.
А ответ прост: это не гон! :) integer - целое со знаком 32 бита.


 
Алхимик ©   (2005-02-10 11:53) [4]

Из справки
Integer -2147483648..2147483647 signed 32-bit


 
Sagov   (2005-02-10 12:29) [5]

procedure TForm1.Button1Click(Sender: TObject);
function sum(st1,st2:string):string;
var b,b2:byte;
    i:integer;
label aa;
begin result:="";b:=0;
  for i:=length(st1)to length(st2)-1 do st1:="0"+st1;
  for i:=length(st2)to length(st1)-1 do st2:="0"+st2;
  for i:=length(st1) downto 1 do begin
    b2:=byte(st1[i])and $f+byte(st2[i])and $f+b;
    if b2>9 then b:=1 else b:=0;
    result:=char(b2-b*10+48)+result;
  end;
  if b=1 then result:="1"+result;
end;
var st,st2,st3:string;
 i:integer;
begin
 i:=strtoint(Edit1.Text);
 st2:="1";
 for i:=1 to i do st2:=sum(st2,st2);
 edit1.Text:=st2;
end;

а вот такой код работает до 1000 а может и более.
не тестировал дальше.


 
Shirson ©   (2005-02-10 12:50) [6]

For n := 1 to n do
Ляпота...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.091 c
6-1103190321
Alexey K
2004-12-16 12:45
2005.02.27
Управление сотовым телефоном


3-1106732533
}|{yk
2005-01-26 12:42
2005.02.27
Как сделать выборку по главной таблице


1-1108069859
iCe
2005-02-11 00:10
2005.02.27
Цикл ожидания


14-1107758628
sapsi
2005-02-07 09:43
2005.02.27
Часы


14-1107771563
Тульский
2005-02-07 13:19
2005.02.27
Струйник




   Наверх