fork download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. short f( unsigned int number, int start, int end)
  5. {
  6. unsigned int mask = (1 << (end - start)) - 1;
  7. return ( number >> start) & mask;
  8. }
  9.  
  10. int main() {
  11.  
  12. short s1,s2,s3 = 0;
  13. unsigned int addr = 4194624;
  14.  
  15. s1 = f( addr, 20, 31);
  16. s2 = f( addr, 8, 19);
  17. s3 = f( addr, 0, 7);
  18.  
  19. printf("%d\n", s1);
  20. printf("%d\n", s2);
  21. printf("%d\n", s3);
  22. return 0;
  23. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
4
1
64