15.12.2006, 22:16
общий
это ответ
Здравствуйте, Sarymian!
Вот предлагаю Вам рассмотреть такой метод перевода из Hex в Bin.
На мой взгляд весьма оригинален...
<font color=purple>Причем предусмотрен вариант когда в числе записаном 16-ричной записью используются не большие буквы (A..F), но и маленькие (a..f).</font>
Good Luck!!!
Приложение:
const masBin: array[0..15] of string[4]=
(‘0000‘,‘0001‘,‘0010‘,‘0011‘,
‘0100‘,‘0101‘,‘0110‘,‘0111‘,
‘1000‘,‘1001‘,‘1010‘,‘1011‘,
‘1100‘,‘1101‘,‘1110‘,‘1111‘);
var c16,c2:string;
i:integer;
begin
write(‘HEX=‘);read(c16);
c2:=‘‘;
for i:=1 to length(c16) do
begin
case ord(c16[i]) of
48..57: c2:=c2+masBin[ord(c16[i])-48]; //для 0..9
65..70: c2:=c2+masBin[ord(c16[i])-55]; //для A..F
97..102: c2:=c2+masBin[ord(c16[i])-87]; //для a..f
end;
end;
write(‘BIN=‘,copy(c2,pos(‘1‘,c2),length(c2)-pos(‘1‘,c2)+1));//выводим число без ведущих нулей
readln;
readln;
end.