uses crt, bitwise;
var b:byte;

begin
clrscr;
    while(b<>$1b)do begin
       b:=byte(readkey);
       writeln(char(b):2,' | ',b:3,' d | ',membits(@b,1),'b | ',memhex(@b,1),'h |');
    end;
end.