1

Тема: Переведення чисел з одніє системи в іншу

Можите дати приклад програми для переведення числ з однієї системи числення у іншу

2

Re: Переведення чисел з одніє системи в іншу

tevez44 написав:

Можите дати приклад програми для переведення числ з однієї системи числення у іншу

маєш на увазі перетворення між типами: DEC, OCT, HEX, BIN ?

3

Re: Переведення чисел з одніє системи в іншу

так

4

Re: Переведення чисел з одніє системи в іншу

var
  HexNum: string;
  i: integer;
  DeсDig, DeсNum: longint;
  IsError: boolean;
  
{Функція претворення шістнадцяткової  цифри
в десяткове число по формулі (цифра)*(16^позиція)}
function HexToDecimal(HexDiс: char; pow: byte): longint;
var 
  i: integer;
  Res: longint;
begin
  Res := 1;
  for i := 1 to Pow do Res := Res * Num;
  Power := Res;
end;


begin
  case HexDiс of
   '0'..'9': HexToDecimal := (Ord(HexDiс) - 48) *
                              Power(16, pow);
   'A'..'F': HexToDecimal := (Ord(HexDiс) - 55) *  
                              Power(16, pow);
   'a'..'f': HextoDecimal := (Ord(HexDiс) - 87) * 
                              Power(16, pow);
  else HexToDecimal := -1; {некоректна цифра }       
end;

begin
  repeat
      write('Vvedit 16kove chyslo:');
      readln(HexNum);
      DecNum := 0;
      isError := False; {Прапорець,які вказує на error}
      for i := 1 to Length(HexNum) do {переглядає 16кове  число}
      
      begin
         {визначаєм десяткове число для шістнадцяткової цифри в даній позиції}           
         DeсDig:=  HexToDecimal(HexNum[i],length(HexNum)-i);
         if DeсDig >= 0 {якщо введено корректне число} 
         then inc(DecNum, DecDig)    {збільшуємо дане  значення десяткового числа на число,яке відповідає
                                        даній шістнадцятковій цифрі}
         else begin
         {якщо введено некоректне число}
              isError := True; {встановлюємо прапорець,
                                який вказує на наявність  помилки} 
              writeln('Chyslo vvedeno nekorektno!);    
              break; {примусове завершення циклу фор}
             end;
      end;
   until not isError; {якщо помилки небуло,то виходимо із циклу репіт}      
   writeln('Desyatkove chyslo = ', DecNum);
end. 
Подякували: Replace1

5

Re: Переведення чисел з одніє системи в іншу

програма переводить число із 16 системи в 10-кову)

Re: Переведення чисел з одніє системи в іншу

yomko1396 написав:

програма переводить число із 16 системи в 10-кову)

А вам з якої в яку потрібно ?

7

Re: Переведення чисел з одніє системи в іншу

Hanter написав:
yomko1396 написав:

програма переводить число із 16 системи в 10-кову)

А вам з якої в яку потрібно ?

Подивися мій пост і наступний за ним. Між усіма зазначеними мною.

Re: Переведення чисел з одніє системи в іншу

yomko1396, з помилочками програмка...

9

Re: Переведення чисел з одніє системи в іншу

опа,підкажи де)

Re: Переведення чисел з одніє системи в іншу

yomko1396 написав:

опа,підкажи де)

49 строка:

writeln('Chyslo vvedeno nekorektno!);

11

Re: Переведення чисел з одніє системи в іншу

точняк,спс)така дебела помилка)

Re: Переведення чисел з одніє системи в іншу

yomko1396 написав:

точняк,спс)така дебела помилка)

Нічого, буває.