fork download
  1. #include <stdio.h>
  2.  
  3. unsigned int get_bits(unsigned int n, int bitswanted){
  4. return n & ((1<<bitswanted)-1);
  5. }
  6.  
  7. int main()
  8. {
  9. unsigned long r=0b0010110100111110000010110110101010000001;
  10. int i;
  11. int byte1,byte2,byte3,byte4,byte5;
  12.  
  13. int bw6=6,bw4=4;
  14.  
  15. byte1 = (r>>32) & 0xFF;
  16. byte2 = (r>>24) & 0xFF;
  17. byte3 = (r>>16) & 0xFF;
  18. byte4 = (r>>8) & 0xFF;
  19. byte5 = (r>>0) & 0xFF;
  20.  
  21. int Lbits=get_bits(byte3,bw6);
  22. int Mbits=get_bits(byte4,bw6);
  23. int Hbits=get_bits(byte5,bw4);
  24.  
  25. int combine=(Hbits<<12)|(Mbits<<6)|Lbits;
  26.  
  27. printf("%d\n",combine);
  28. }
  29.  
  30.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
6795