fork(9) download
  1. #include <cstdint>
  2. #include <bitset>
  3. #include <iostream>
  4.  
  5. template<class T>
  6. auto as_unsigned(T t)
  7. {
  8. return std::make_unsigned_t<T>(t);
  9. }
  10.  
  11. int main(int argc, char** argv)
  12. {
  13. auto sx = int32_t{ -55 };
  14. auto ux = as_unsigned(sx);
  15.  
  16. auto sxBits = std::bitset<sizeof(sx) * 8>(sx);
  17. auto uxBits = std::bitset<sizeof(ux) * 8>(ux);
  18.  
  19. std::cout << "sx = " << sx << std::endl;
  20. std::cout << "sx bits: " << sxBits << std::endl;
  21.  
  22. std::cout << "ux = " << ux << std::endl;
  23. std::cout << "ux bits: " << uxBits << std::endl;
  24.  
  25. return 0;
  26. }
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
sx = -55
sx bits: 11111111111111111111111111001001
ux = 4294967241
ux bits: 11111111111111111111111111001001