Харьков Форум
  Харьков Форум > Hi-Tech... > Железо

Старый 25.07.2005, 15:44   #1
qZ (not logged in)
Гость

 
Сообщений: n/a
По умолчанию Программеры! F1!

вообщем си билдер. нужно очччень большое положительно целое число. ансигнед лонг инта не хватает! что делать?


    Вверх
Старый 25.07.2005, 15:50   #2
Arty


 
 
Регистрация: 12.08.2004
Адрес: Комитет ЭУ
Сообщений: 7,031
По умолчанию
класс свой создать?...


__________________
Дадим отпор врагам мирового империализма!
    Вверх
Старый 25.07.2005, 15:55   #3
qZ


 
 
Регистрация: 1.09.2003
Сообщений: 1,031
 
По умолчанию
Цитата:
Сообщение от Arty
класс свой создать?...
нах?


__________________
Нас атомной бомбой напугаешь едва ли
Мы рейверы в жизни такого видали!
    Вверх
Старый 25.07.2005, 16:35   #4
CryBaby


 
 
Регистрация: 23.01.2004
Сообщений: 4,232
 
По умолчанию
Застрелицца, однозначно!
Ну или взять много чисел чуть поменьше

Объясни что именно тебе нужно сделать-- там будет проще тебе помочь


__________________
Я хороший, меня можно любить... (с) Евгений Гришковец http://www.cosgan.de/images/smilie/engel/a010.gif
    Вверх
Старый 25.07.2005, 16:55   #5
qZ


 
 
Регистрация: 1.09.2003
Сообщений: 1,031
 
По умолчанию
Цитата:
Сообщение от CryBaby
Объясни что именно тебе нужно сделать-- там будет проще тебе помочь
есть текстовый файл. структура типа такой:
показатель=сумма
показатель=сумма
показатель=сумма

так вот надо если показатели однаковые объединить их. те. я беру то что после знака равенства и до конца строки преобразую в целое. потом со вторым тоже самое. суммы суммирую (тупо звучит как то) и обратно преобразовав в строку леплю после равенства. а вторую строку удаляю. но суммы очччень большие!


__________________
Нас атомной бомбой напугаешь едва ли
Мы рейверы в жизни такого видали!
    Вверх
Старый 25.07.2005, 17:23   #6
Drema


 
 
Регистрация: 6.09.2003
Адрес: Kharkov
Сообщений: 5,394
 
По умолчанию
а нельзя ли это сделать как то "посимвольно". как будто сложить в столбик?
тебе тогда хватит типа byte и string


__________________
Иллюстрация общения на ХФ

Правильный гражданин Украины всегда должен отойти, если попросят, отвернуться, если потребуется, не вмешиваться, дабы ничего не вышло, не замечать ради спокойствия, не возмущаться ради стабильности.
    Вверх
Старый 25.07.2005, 17:29   #7
CryBaby


 
 
Регистрация: 23.01.2004
Сообщений: 4,232
 
По умолчанию
Дрема говрит реально. Нужно бы тут поработать с разрядами.
"мне эта идея пришла в голову чуточку раньше" (с)
и разбивать эти большие числа на 2 поменьше и с ними уже работать

например
показатель= 1012312
показатель= 2342314

Интерпретируем как "1012 " и "312"
"2342" и "314"

Обрабатываем а результат уже в виде строки объединяем в одну результирующую строку.

П.С. не забывай про переносы знаков и прочую мелочь.


Если че- я еще 40 минут буду в АСЕ


__________________
Я хороший, меня можно любить... (с) Евгений Гришковец http://www.cosgan.de/images/smilie/engel/a010.gif
    Вверх
Старый 25.07.2005, 22:40   #8
Drema


 
 
Регистрация: 6.09.2003
Адрес: Kharkov
Сообщений: 5,394
 
По умолчанию
написали?
вот моя реализация на дельфи:
Код:
procedure TForm1.Button1Click(Sender: TObject);
type
  num=record
  s:string;
  l:integer;
end;
function rever(s:string):string;
var
i:integer;
s1:string;
begin
  s1:='';
  for i:=0 to length(s)-1 do
    s1:=s1+s[length(s)-i];
  rever:=s1;
end;
var
  a1, a2, b:num;
  i,j, buf, max, sum:integer;
  c1,c2:char;
begin
  a1.s:=edit1.Text;
  a2.s:=edit2.Text;
  a1.l:=length(a1.s);
  a2.l:=length(a2.s);
  b.s:='';
  if a1.l>a2.l then max:=a1.l else max:=a2.l;
  buf:=0;
  for i:=0 to max-1 do
    begin
      if a1.l<=i then c1:='0' else c1:=a1.s[a1.l-i];
      if a2.l<=i then c2:='0' else c2:=a2.s[a2.l-i];
      sum:=strtoint(c1)+strtoint(c2)+buf;
      if sum>9 then
        begin
          buf:=1;
          sum:=sum-10;
        end
      else
        buf:=0;
      b.s:=b.s+inttostr(sum);
    end;
    if buf=1 then b.s:=b.s+'1';
  edit3.Text:=rever(b.s);
end;
в edit3 появляется результат сложения содержимого edit1 и edit2.
умея складывать 2 числа можно складывать сколько угодно чисел.
вроде работает..


__________________
Иллюстрация общения на ХФ

Правильный гражданин Украины всегда должен отойти, если попросят, отвернуться, если потребуется, не вмешиваться, дабы ничего не вышло, не замечать ради спокойствия, не возмущаться ради стабильности.
    Вверх
Старый 26.07.2005, 07:43   #9
_Roman_


 
 
Регистрация: 5.05.2005
Адрес: Харьков
Сообщений: 1,249
 
По умолчанию
Цитата:
Сообщение от qZ (not logged in)
вообщем си билдер. нужно очччень большое положительно целое число. ансигнед лонг инта не хватает! что делать?
Зачем изобретать велосипед?
Воспользуйтесь например LARGE_INTEGER.


    Вверх
Старый 26.07.2005, 08:09   #10
Unregistered
Гость

 
Сообщений: n/a
По умолчанию
Цитата:
Сообщение от CryBaby
например
показатель= 1012312
показатель= 2342314
а если так:
показатель= 1012235628307312
показатель= 2

????


    Вверх
Старый 26.07.2005, 09:59   #11
CryBaby


 
 
Регистрация: 23.01.2004
Сообщений: 4,232
 
По умолчанию
Цитата:
а если так:
показатель= 1012235628307312
показатель= 2

????
Я признаться не рассчитывал на таких ламеров.

Можно же считать пустые разряды за нули при обработке, неправда ли?

от уже ...


__________________
Я хороший, меня можно любить... (с) Евгений Гришковец http://www.cosgan.de/images/smilie/engel/a010.gif
    Вверх
Старый 26.07.2005, 10:20   #12
qZ


 
 
Регистрация: 1.09.2003
Сообщений: 1,031
 
По умолчанию
Цитата:
Сообщение от CryBaby
Я признаться не рассчитывал на таких ламеров.

Можно же считать пустые разряды за нули при обработке, неправда ли?

от уже ...
ты меня не понял... ну правда наверное просто я изначально этого не сказал... я ж спросил мож какой еще тип есть... а заморачиватса с обработкой и посимвольным сложением мне влом... и так работает.. а кому сильно надо файлик ручками подправит... и так людям офигительно работу облегчил...


__________________
Нас атомной бомбой напугаешь едва ли
Мы рейверы в жизни такого видали!
    Вверх
Старый 26.07.2005, 22:55   #13
Arty


 
 
Регистрация: 12.08.2004
Адрес: Комитет ЭУ
Сообщений: 7,031
По умолчанию
Цитата:
Сообщение от qZ
нах?
шоб було.

выше показали


__________________
Дадим отпор врагам мирового империализма!
    Вверх
Старый 30.07.2005, 11:08   #14
SAHbKA


 
 
Регистрация: 21.07.2005
Адрес: Терра-третья Планета от С
Сообщений: 5,718
 
По умолчанию
Люди, а ни у кого нет сингулярного разложения матрицы в Делфях? А то скоро надо будет заниматься...


__________________
....ɐwʎ ɔ vǝmоɔ dиw
    Вверх
Старый 31.07.2005, 01:25   #15
esh_p

 
Регистрация: 15.07.2005
Сообщений: 390
По умолчанию
>> Воспользуйтесь например LARGE_INTEGER.
Ему вроде знак не нужен, тогда прямая дорога к unsigned __int64, или тоже мало?
Можно еще с long double, там уже НАМНОГО большие числа, правда точность очень маленькая, но зато можно свободно использовать числа с сотнями нулей


    Вверх

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Харьков Форум > Hi-Tech... > Железо

Быстрый переход


Часовой пояс GMT +2, время: 15:19.


Харьков Форум Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.