fork download
  1. program ideone;
  2.  
  3. const
  4. BYTEBITS = 8;
  5.  
  6. function reverseBits(orig: byte): byte;
  7. var
  8. i: integer;
  9. b: byte = 0;
  10. begin
  11. for i := 0 to SizeOf(orig) * BYTEBITS - 1 do
  12. b := (b shl 1) or ((orig shr i) and $01);
  13.  
  14. reverseBits := b;
  15. end;
  16.  
  17. var i: integer;
  18. begin
  19. for i := 0 to BYTEBITS - 1 do
  20. writeln('O inverso de ', 1 shl i, ' é ', reverseBits(1 shl i));
  21. end.
Success #stdin #stdout 0s 232KB
stdin
Standard input is empty
stdout
O inverso de 1 é 128
O inverso de 2 é 64
O inverso de 4 é 32
O inverso de 8 é 16
O inverso de 16 é 8
O inverso de 32 é 4
O inverso de 64 é 2
O inverso de 128 é 1