вторник, 1 декабря 2009 г.

число из Двоичной системы счисления в десятичную

Помогите написать программы на паскале которые переводит число из Двоичной системы счисления в десятичную


FUNCTION BIN2DEC(BIN: STRING): LONGINT;

VAR
J : LONGINT;
Error: BOOLEAN;
DEC : LONGINT;

BEGIN
DEC := 0;
Error := False;
FOR J := 1 TO Length(BIN) DO
BEGIN
IF (BIN[J] <>'0') AND (BIN[J] <>'1') THEN Error := True;
IF BIN[J] = '1' THEN DEC := DEC + (1 SHL (Length(BIN) - J));
{ (1 SHL (Length(BIN) - J)) = 2^(Length(BIN)- J) }
END;
IF Error THEN BIN2DEC := 0
ELSE BIN2DEC := DEC;
END;

Комментариев нет:

Отправить комментарий