Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > >
Восстановить пароль Регистрация
 
RAVE
Новичок
0 / 0 / 0
Регистрация: 06.10.2008
Сообщений: 12
06.10.2008, 17:24     перевести из десятичной в восьмеричную систему и обратно   #1
Помогите пожалуйста перевести из десятичной в восьмеричную систему и обратно
AdAgent
Объявления
06.10.2008, 17:24     перевести из десятичной в восьмеричную систему и обратно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2008, 17:24     перевести из десятичной в восьмеричную систему и обратно
Посмотрите здесь:

Pascal Перевод числа с десятичной системы в восьмеричную систему
Pascal перевод систем счисления из десятичной в восьмеричную и обратно в Pascal !
Pascal ABC Составить модуль для перевода чисел (целых, дробей, смешанных) из десятичной системы счисления в любую р-ичную систему и обратно
Turbo Pascal Как перевести число из десятичной в восьмеричную систему счисления без деления?
Pascal Дано натуральное число. Перевести его в восьмеричную систему. Результат вывести на экран
AziAd
Новичок
3 / 3 / 0
Регистрация: 01.10.2008
Сообщений: 12
06.10.2008, 18:20     перевести из десятичной в восьмеричную систему и обратно   #2
Только что выложил исходник на Делфи. Оттуда можно вырвать функцию для Паскаля, ссылка на тему
Sergei
Форумчанин
1383 / 617 / 23
Регистрация: 22.04.2008
Сообщений: 1,608
06.10.2008, 19:02     перевести из десятичной в восьмеричную систему и обратно   #3
Спасибо большое AziAd
RAVE
Новичок
0 / 0 / 0
Регистрация: 06.10.2008
Сообщений: 12
19.10.2008, 13:15  [ТС]     перевести из десятичной в восьмеричную систему и обратно   #4
Я конешно извиняюсь но вот потребовался код по переводу (в Delphi) именно из десятичной в восьмеричную систему и обратно, а не универсальный.
ПС Пожалуйста помогите очень надо
Lurker
Форумчанин
6120 / 1878 / 11
Регистрация: 07.07.2008
Сообщений: 10,447
19.10.2008, 13:34     перевести из десятичной в восьмеричную систему и обратно   #5
у тебя есть универсальный... обрежб его до из 8 в 10 и наоборот
AdAgent
Объявления
19.10.2008, 13:34     перевести из десятичной в восьмеричную систему и обратно
RAVE
Новичок
0 / 0 / 0
Регистрация: 06.10.2008
Сообщений: 12
19.10.2008, 15:21  [ТС]     перевести из десятичной в восьмеричную систему и обратно   #6
В том и дело что я незнаю как. Я только начинаю учить Делфи и ничего практически не знаю,но если кому не трудно помогите переделать эту функцию

Код Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function Convert(numstring: string; fromdigit: integer; todigit: integer): string;
var
  i,k: longint;
  num: extended;
  onesymbol: string;
  strbin,strtemp: string;
  module: string;
  num2: longint;
begin
  num:=0;
  k:=length(numstring)-1;
  for i:=1 to length(numstring) do begin
    onesymbol:=numstring[i];
    if LowerCase(onesymbol)='a' then onesymbol:='10' else
    if LowerCase(onesymbol)='b' then onesymbol:='11' else
    if LowerCase(onesymbol)='c' then onesymbol:='12' else
    if LowerCase(onesymbol)='d' then onesymbol:='13' else
    if LowerCase(onesymbol)='e' then onesymbol:='14' else
    if LowerCase(onesymbol)='f' then onesymbol:='15';
    num:=num+strtoint(onesymbol)*Power(fromdigit,k);
    dec(k);
  end;
  strtemp:=FloatToStr(num);
  num2:=StrToInt(strtemp);
  strtemp:='1';
  strbin:='';
  while strtemp='1' do begin
    if num2 = 0 then break
    else begin
      module:=inttostr(num2 mod todigit);
      if todigit=16 then begin
        if module='10' then module:='A' else
        if module='11' then module:='B' else
        if module='12' then module:='C' else
        if module='13' then module:='D' else
        if module='14' then module:='E' else
        if module='15' then module:='F' else
        if module='16' then module:='10';
      end;
      strbin:=strbin+module;
      num2:=num2 div todigit;
    end;
  end;
  strtemp:='';
  for i:=length(strbin) downto 1 do
    strtemp:=strtemp+strbin[i];
  Convert:=strtemp;
end;
RAVE
Новичок
0 / 0 / 0
Регистрация: 06.10.2008
Сообщений: 12
21.10.2008, 20:45  [ТС]     перевести из десятичной в восьмеричную систему и обратно   #7
Вот з переводом из 10-ой в 8-ю типа разобрался
но вот нашел перевод из 2-й в 10-ю если можна как-то переделать в (из 8-ой в 10-ю) - помогите пожалуйста
Код Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
begin
sum:=0;
write('Enter 2 SS = '); Readln(s);
For i:=Length(s)-1 DownTo 1 Do
  Begin
  If s[i]='1' Then
    Begin
    sum2:=1;
    For j:=1 To Length(s)-i Do sum2:=sum2*2;
    End
    Else sum2:=0;
  sum:=sum+sum2;
End;
If s[Length(s)]='1' Then Inc(sum);
writeln('Translated 10 SS = ',IntToStr(sum));
end
else writeln('That menu is not exist');
readln;
end.
RAVE
Новичок
0 / 0 / 0
Регистрация: 06.10.2008
Сообщений: 12
19.11.2008, 23:13  [ТС]     перевести из десятичной в восьмеричную систему и обратно   #8
Вот как в этой части проги можна сделать проверку чтоб можна было вводить только числа от 0 до 9, а если вводить буквы то чтоб выводило сообщения что не верное значение и т.п. У меня не получилось - помогите плис
Код Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses
  SysUtils;
var
  vis,s: string;
  iMod, des, misc, i, j, result :integer;
begin
writeln('Press 1: 10 sysnem to 8 sysnem');
writeln('Press 2: 8 system to 10 system');
readln(misc);
if misc=1 then
begin
Write('Input 10 system = ');
  Readln(des);
  while des >= 8 do
    begin
      iMod := des mod 8;
      des := des div 8;
      vis := IntToStr(iMod) + vis;
    end;
  vis := IntToStr(des) + vis;
  Writeln('Converted 8 system = ', vis);
  end
Yandex
Объявления
19.11.2008, 23:13     перевести из десятичной в восьмеричную систему и обратно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Опции темы

Текущее время: 04:23. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Яндекс.Метрика