fork download
  1. #include <cstdio>
  2. #include <iostream>
  3. #include <cstdlib>
  4. #include <algorithm>
  5. #include <cstring>
  6. #include <vector>
  7. #include <stack>
  8. #include <queue>
  9. #include <cstdlib>
  10. #include <iostream>
  11. #include <cstring>
  12. #include <string>
  13. #include <cmath>
  14. #include <sstream>
  15.  
  16. using namespace std;
  17.  
  18. string hex_to_binary(string number)
  19. {
  20. string binary1="";
  21. for(int i=0;i<number.length();++i)
  22. {
  23. switch (number[i])
  24. {
  25. case '0':
  26. binary1 += "0000";break;
  27. case '1':
  28. binary1 += "0001";break;
  29. case '2':
  30. binary1 += "0010";break;
  31. case '3':
  32. binary1 += "0011";break;
  33. case '4':
  34. binary1 += "0100";break;
  35. case '5':
  36. binary1 += "0101";break;
  37. case '6':
  38. binary1 += "0110";break;
  39. case '7':
  40. binary1 += "0111";break;
  41. case '8':
  42. binary1 += "1000";break;
  43. case '9':
  44. binary1 += "1001";break;
  45. case 'A':
  46. binary1 += "1010";break;
  47. case 'B':
  48. binary1 += "1011";break;
  49. case 'C':
  50. binary1 += "1100";break;
  51. case 'D':
  52. binary1 += "1101";break;
  53. case 'E':
  54. binary1 += "1110";break;
  55. case 'F':
  56. binary1 += "1111";break;
  57. }
  58.  
  59.  
  60. }
  61. return binary1;
  62. }
  63.  
  64. int main()
  65. {
  66. int tst_cases;
  67. cin>>tst_cases;
  68. while(tst_cases--)
  69. {
  70. string op;
  71. string number1,number2;
  72. cin>>number1>>op>>number2;
  73.  
  74. int num1 = stoi(number1, 0, 16);
  75. int num2 = stoi(number2, 0, 16);
  76.  
  77. int result;
  78. if(op=="+")
  79. result=num1+num2;
  80. else
  81. result=num1-num2;
  82.  
  83.  
  84. string s1=hex_to_binary(number1);
  85. string s2=hex_to_binary(number2);
  86.  
  87. while(s1.length()<13)
  88. s1="0"+s1;
  89. while(s2.length()<13)
  90. s2="0"+s2;
  91.  
  92. printf("%s %c %s = %d\n",s1.c_str(),op[0],s2.c_str(),result);
  93. }
  94.  
  95. return 0;
  96. }
  97.  
Runtime error #stdin #stdout #stderr 0s 3432KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
terminate called after throwing an instance of 'std::invalid_argument'
  what():  stoi