Домашнее задание 21\09

Коцур Сергей аватар
  1. var a,revers:integer;
  2. b1,b2,b3,b4,b5,b6,b7,b8:byte;
  3. begin
  4.    writeln('Введите допустимое число a:');
  5.    read(a);
  6.    b1:= a shr 7; //[x]xxx xxxx -> xxxx xxx[x]
  7.    
  8.    b2:= a shl 1; //x[x]x xxxx -> [x]xxx xxxx
  9.    b2:= b2 shr 7; //[x]xxx xxxx -> xxxx xxx[x]
  10.    
  11.    b3:= a shl 2;  //..аналогично
  12.    b3:= b3 shr 7;
  13.    
  14.    b4:= a shl 3;
  15.    b4:= b4 shr 7;
  16.    
  17.    b5:= a shl 4;
  18.    b5:= b5 shr 7;
  19.    
  20.    b6:= a shl 5;
  21.    b6:= b6 shr 7;
  22.    
  23.    b7:= a shl 6;
  24.    b7:= b7 shr 7;
  25.    
  26.    b8:= a shl 7;
  27.    b8:= b8 shr 7;
  28.    revers:= b8*10000000+b7*1000000+b6*100000+b5*10000+b4*1000+b3*100+b2*10+b1;
  29.   writeln('Значения битов в обратном порядке: ',revers,'.');
  30.   write('                                   ',b8,b7,b6,b5,' ',b4,b3,b2,b1,'.');
  31.  
  32. end.