Тема: Переведення чисел з одніє системи в іншу
Можите дати приклад програми для переведення числ з однієї системи числення у іншу
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Pascal/Delphi → Переведення чисел з одніє системи в іншу
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Можите дати приклад програми для переведення числ з однієї системи числення у іншу
Можите дати приклад програми для переведення числ з однієї системи числення у іншу
маєш на увазі перетворення між типами: DEC, OCT, HEX, BIN ?
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.
програма переводить число із 16 системи в 10-кову)
програма переводить число із 16 системи в 10-кову)
А вам з якої в яку потрібно ?
yomko1396 написав:програма переводить число із 16 системи в 10-кову)
А вам з якої в яку потрібно ?
Подивися мій пост і наступний за ним. Між усіма зазначеними мною.
yomko1396, з помилочками програмка...
опа,підкажи де)
49 строка:
writeln('Chyslo vvedeno nekorektno!);
точняк,спс)така дебела помилка)
Нічого, буває.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися