program ideone;
const
BYTEBITS = 8 ;
function reverseBits( orig: byte ) : byte ;
var
i: integer ;
b: byte = 0 ;
begin
for i : = 0 to SizeOf( orig) * BYTEBITS - 1 do
b : = ( b shl 1 ) or ( ( orig shr i) and $01 ) ;
reverseBits : = b;
end ;
var i: integer ;
begin
for i : = 0 to BYTEBITS - 1 do
writeln ( 'O inverso de ' , 1 shl i, ' é ' , reverseBits( 1 shl i) ) ;
end .
cHJvZ3JhbSBpZGVvbmU7Cgpjb25zdAogIEJZVEVCSVRTID0gODsKCmZ1bmN0aW9uIHJldmVyc2VCaXRzKG9yaWc6IGJ5dGUpOiBieXRlOwp2YXIKICBpOiBpbnRlZ2VyOwogIGI6IGJ5dGUgPSAwOwpiZWdpbgogIGZvciBpIDo9IDAgdG8gU2l6ZU9mKG9yaWcpICogQllURUJJVFMgLSAxIGRvCiAgICBiIDo9IChiIHNobCAxKSBvciAoKG9yaWcgc2hyIGkpIGFuZCAkMDEpOwogIAogIHJldmVyc2VCaXRzIDo9IGI7CmVuZDsKCnZhciBpOiBpbnRlZ2VyOwpiZWdpbgogIGZvciBpIDo9IDAgdG8gQllURUJJVFMgLSAxIGRvCiAgICB3cml0ZWxuKCdPIGludmVyc28gZGUgJywgMSBzaGwgaSwgJyDDqSAnLCByZXZlcnNlQml0cygxIHNobCBpKSk7CmVuZC4=