№1  на языке программирования Паскаль составить программу перевода из 16-чной системы счисления в систему счисления с основанием 10.  №2 Составить программу на ЯП Паскаль для перевода числа от 0 до 1000 из десятичной СС в двоич...

№1  на языке программирования Паскаль составить программу перевода из 16-чной системы счисления в систему счисления с основанием 10.  №2 Составить программу на ЯП Паскаль для перевода числа от 0 до 1000 из десятичной СС в двоичную СС.  Если введенное число не "попадает" в диапазон - уведомить об этом пользователя    №3 на языке программирования Паскаль составить программу для перевода числа из 10-чной системы счисления в систему счисления с основанием 12 или 16 (количество разрядов на ваше усмотрение). 
Гость
Ответ(ы) на вопрос:
Гость
Задания жесткие, кину одну функцию, помню давненько её находил для перевода из 16 в 10, могут быть ошибки не проверял   function HEX2DEC(HEX: string): LONGINT; function Digt(Ch: CHAR): BYTE; const HEXDigts: string[16] = '0123456789ABCDEF'; var I: BYTE; N: BYTE; begin N := 0; for I := 1 to Length(HEXDigts) do if Ch = HEXDigts[I] then N := I - 1; Digt := N; end; const HEXSet: set of CHAR = ['0'..'9', 'A'..'F']; var J: LONGINT; Error: BOOLEAN; DEC: LONGINT; begin DEC := 0; Error := False; for J := 1 to Length(HEX) do begin if not (UpCase(HEX[J]) in HEXSet) then Error := True; DEC := DEC + Digt(UpCase(HEX[J])) shl ((Length(HEX) - J) * 4); { 16^N = 2^(N * 4) } { N SHL ((Length(HEX) - J) * 4) = N * 16^(Length(HEX) - J) } end; if Error then HEX2DEC := 0 else HEX2DEC := DEC; end;
Не нашли ответ?
Ответить на вопрос
Похожие вопросы