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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2013, 21:29   #1
Abay19941308
Пользователь
 
Регистрация: 29.10.2012
Сообщений: 64
По умолчанию Перевод чисел из одной системы в другую!!!

Перевод чисел сделал. Вот только задали доп.задание. В числе переведенном в двоичную систему необходимо заменить нули единицами, а единицы нулями. Потом обратно конвертировать это число в десятичную систему.
Н-р:
25 в двоичной будет -> 11001
11001-> (заменили еденицы нулями) 00110
00110 (опять перевили это число в десятичную) -> 6

Вот код:

Код:
function Convert(chislo:integer; osnovanie:byte):string;
begin
result:='';
repeat
    result:=zn[(chislo mod osnovanie)+1] + result;
		chislo:=chislo div osnovanie;
until chislo=0;
end;

procedure TForm1.button1Click(Sender: TObject);
var s,S1,S2,SS:string; 
    cell,drob,k,i:integer; 
    osn:byte;
begin
s:=Edit1.text; 
osn:=StrToint(Edit2.Text);
if pos(',',s)<>0 then
   begin
    cell:=Strtoint(copy(s,1,pos(',',s)-1)); 
    drob:=Strtoint(copy(s,pos(',',s)+1,length(s)-pos(',',s)));
    S2:=Convert(cell,osn)+','+Convert(drob,osn);
    Label1.Caption:=(S2);

   end
else if  pos(',',s)=0 then begin
Label1.Caption:=Convert(StrToInt(s),osn); end;

S1:='00000000';
//S2:=inttostr(SS);
k:=8;
for i:=length(S2) downto 1 do begin
s1[k]:=S2[i];
k:=k-1;
end;
edit3.Text:=(s1);

end;


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 15.11.2013 в 21:44.
Abay19941308 вне форума Ответить с цитированием
Старый 15.11.2013, 21:45   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

простите, не понял: а вопрос то в чём? что не получается?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.11.2013, 21:56   #3
Abay19941308
Пользователь
 
Регистрация: 29.10.2012
Сообщений: 64
По умолчанию

Извиняюсь,забыл!!!
Не меняет единицы с нулями.
Выводит либо тоже самое число в двоичной системе.
Abay19941308 вне форума Ответить с цитированием
Старый 15.11.2013, 22:15   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var Number,x,y,z: DWORD;
begin
  Number:=15233; x:=Number; y:=1; z:=0;
  while x<>0 do begin z:=z or y; y:=y shl 1; x:=x shr 1; end;
  x:=(not Number) and z;
  Label1.Caption:=IntToStr(Number) +' '+IntToHex(Number,8);
  Label2.Caption:=IntToStr(x) +' '+IntToHex(x,8);
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод чисел из одной системы счисления в другую Elenka88 Помощь студентам 3 06.03.2013 12:41
Перевод из одной системы исчисления в другую. Svop Помощь студентам 7 20.12.2010 19:00
перевод чисел из одной системы счисления в другую GAngelika Паскаль, Turbo Pascal, PascalABC.NET 2 16.12.2010 09:36
Перевод целых чисел из одной системы счисления в другую =LeonZone= Помощь студентам 19 12.12.2010 16:18
перевод чисел из одной системы счисления в другую laponka Помощь студентам 3 18.09.2009 09:20