fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Inst
  5. {
  6. int num1;
  7. int num2;
  8. int num3;
  9. };
  10.  
  11. int bitCpy(int &field, int b, int c, int d)
  12. {
  13. int range = d - c;
  14. b <<= (32 - d);
  15. b >>= (32 - range);
  16. field = b; // a.num1, a.num2, a.num3 ... etc
  17. return b;
  18. }
  19.  
  20. int main()
  21. {
  22. Inst i = {};
  23. bitCpy(i.num1, 12345, 0, 31);
  24. bitCpy(i.num2, 67890, 0, 31);
  25. cout << i.num1 << endl;
  26. cout << i.num2 << endl;
  27. return 0;
  28. }
Success #stdin #stdout 0s 4404KB
stdin
Standard input is empty
stdout
12345
67890