Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2008, 21:17   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Стрелка Преобразования систем исчисления

Всем привет! есть ли у кого всякие функции преобразования. Ну например из 16-ти в 10-ти ричную систему...
Или из 10-ти в 2-ичную систему исчисления. Пишите...
И кстате, нет ли бинарного типа данных? А то двоичный код в string неудобно, а в integer или real длинный не выходит хранить .
Спасибо заранее!
Altera вне форума Ответить с цитированием
Старый 20.02.2008, 21:40   #2
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Код:
program Project2;   
  
{$APPTYPE CONSOLE}   
  
uses   
  SysUtils;   
  
Const   
    list='0123456789ABSDEF';{Можно продолжить:) }   
  
var Base1, Base2, Number10:Cardinal;   
    FirstNumber:String;   
Function GetFigure(Number:string; index:Cardinal):Byte;   
begin   
  Result:=pos(Number[index],list)-1;   
end;   
  
Function NumberTo10(Number:String; base:Cardinal):Cardinal;   
var   
  i:byte;   
begin   
  Result:=0;   
  For i:=1 to length(Number) do   
  begin   
    Result:=GetFigure(Number,i)*round(Exp((length(Number)-i)*Ln(base)))+Result;   
  end;   
end;   
  
Function Number10ToBase(Number:Cardinal; base:Cardinal):string;   
var   
  S:string;   
  M:Cardinal;   
begin   
  s:='';   
  Result:='';   
  M:=Number;   
  While M>=Base do   
  begin   
    S:=S+List[(M mod base)+1];   
    M:=M div base;   
  end;   
  s:=s+List[M+1];   
  For M:=1 to length(s) do   
  begin   
    Result:=Result+s[length(s)-M+1];   
  end;   
end;   
  
begin   
  Writeln('Система счисления?');   
  Readln(base1);   
  Writeln('число?');   
  Readln(FirstNumber);   
  Writeln('К какую?');   
  Readln(Base2);   
  Write(Number10ToBase(NumberTo10(FirstNumber,base1),base2));   
  Readln;   
end.
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 20.02.2008, 21:45   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Чё эт? консоль?
Altera вне форума Ответить с цитированием
Старый 20.02.2008, 21:53   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Я думаю это заметно так как описана деректива
Код:
{$APPTYPE CONSOLE}
Если вам это мало чего дает то по инглишу Application Type is Console ( Russian: Приложение типа консоль )

Последний раз редактировалось BOBAH13; 20.02.2008 в 21:55.
BOBAH13 вне форума Ответить с цитированием
Старый 20.02.2008, 23:29   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Эта тема - "Преобразование из одной системы исчисления в другую" уже столько раз поднималась на форуме, что...
Ну просто слов нет, одни матерные...
mihali4 вне форума Ответить с цитированием
Старый 21.02.2008, 08:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а в integer или real длинный не выходит хранить
Так храни его в string только выбирай оттуда побайтно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из одной системы исчисления в другую. Svop Помощь студентам 7 20.12.2010 19:00
перевод системы исчисления (16 ->10) adwaer Помощь студентам 5 15.06.2008 20:29
Преобразования Pascal в Delphi non1ka Помощь студентам 21 05.06.2008 12:54
16-я система исчисления:вопрос Mustang Общие вопросы Delphi 4 23.09.2007 17:57