• Source
    1. //#include "Hex.h"
    2. #include <iostream>
    3. #include <string.h>
    4. #include <stdio.h>
    5. #include <vector>
    6. #include <string.h>
    7.  
    8. using namespace std;
    9. class Hex {
    10.  
    11. public:
    12. void HexToBin(string s);
    13. private:
    14. vector<char> binum;
    15. vector<char> word;
    16. vector<int>::const_iterator i;
    17. };
    18. #include <iostream>
    19.  
    20. void Hex::HexToBin(string hex) {
    21. {
    22. //vector<char> binnum;
    23. vector<char> word(begin(hex), end(hex));
    24. vector<char>::iterator i;
    25. i = word.begin();
    26. while (i != word.end())
    27. {
    28. switch (*i) //error here
    29. {
    30. case '0': cout << "0000";
    31. binum.push_back(0);
    32. binum.push_back(0);
    33. binum.push_back(0);
    34. binum.push_back(0);
    35. break;
    36. case '1': cout << "0001";
    37. binum.push_back(0);
    38. binum.push_back(0);
    39. binum.push_back(0);
    40. binum.push_back(1);
    41. break;
    42. case '2': cout << "0010";
    43. binum.push_back(0);
    44. binum.push_back(0);
    45. binum.push_back(1);
    46. binum.push_back(0);
    47. break;
    48. case '3': cout << "0011";
    49. binum.push_back(0);
    50. binum.push_back(0);
    51. binum.push_back(1);
    52. binum.push_back(1);
    53. break;
    54. case '4': cout << "0100";
    55. binum.push_back(0);
    56. binum.push_back(1);
    57. binum.push_back(0);
    58. binum.push_back(0);
    59. break;
    60. case '5': cout << "0101";
    61. binum.push_back(0);
    62. binum.push_back(1);
    63. binum.push_back(0);
    64. binum.push_back(1);
    65. break;
    66. case '6': cout << "0110";
    67. binum.push_back(0);
    68. binum.push_back(1);
    69. binum.push_back(1);
    70. binum.push_back(0);
    71. break;
    72. case '7': cout << "0111";
    73. binum.push_back(0);
    74. binum.push_back(1);
    75. binum.push_back(1);
    76. binum.push_back(1);
    77. break;
    78. case '8': cout << "1000";
    79. binum.push_back(1);
    80. binum.push_back(0);
    81. binum.push_back(0);
    82. binum.push_back(0);
    83. break;
    84. case '9': cout << "1001";
    85. binum.push_back(1);
    86. binum.push_back(0);
    87. binum.push_back(0);
    88. binum.push_back(1);
    89. break;
    90. case 'A': cout << "1010";
    91. binum.push_back(1);
    92. binum.push_back(0);
    93. binum.push_back(1);
    94. binum.push_back(0);
    95. break;
    96. case 'B': cout << "1011";
    97. binum.push_back(1);
    98. binum.push_back(0);
    99. binum.push_back(1);
    100. binum.push_back(1);
    101. break;
    102. case 'C': cout << "1100";
    103. binum.push_back(1);
    104. binum.push_back(1);
    105. binum.push_back(0);
    106. binum.push_back(0);
    107. break;
    108. case 'D': cout << "1101";
    109. binum.push_back(1);
    110. binum.push_back(1);
    111. binum.push_back(0);
    112. binum.push_back(1);
    113. break;
    114. case 'E': cout << "1110";
    115. binum.push_back(1);
    116. binum.push_back(1);
    117. binum.push_back(1);
    118. binum.push_back(0);
    119. break;
    120. case 'F': cout << "1111";
    121. binum.push_back(1);
    122. binum.push_back(1);
    123. binum.push_back(1);
    124. binum.push_back(1);
    125. break;
    126. case 'a': cout << "1010";
    127. binum.push_back(1);
    128. binum.push_back(0);
    129. binum.push_back(1);
    130. binum.push_back(0);
    131. break;
    132. case 'b': cout << "1011";
    133. binum.push_back(1);
    134. binum.push_back(0);
    135. binum.push_back(1);
    136. binum.push_back(1);
    137. break;
    138. case 'c': cout << "1100";
    139. binum.push_back(1);
    140. binum.push_back(1);
    141. binum.push_back(0);
    142. binum.push_back(0);
    143. break;
    144. case 'd': cout << "1101";
    145. binum.push_back(1);
    146. binum.push_back(1);
    147. binum.push_back(0);
    148. binum.push_back(1);
    149. break;
    150. case 'e': cout << "1110";
    151. binum.push_back(1);
    152. binum.push_back(1);
    153. binum.push_back(1);
    154. binum.push_back(0);
    155. break;
    156. case 'f': cout << "1111";
    157. binum.push_back(1);
    158. binum.push_back(1);
    159. binum.push_back(1);
    160. binum.push_back(1);
    161. break;
    162. default: cout << "\nInvalid hexadecimal digit '" << *i << "'"; //error here
    163. }
    164. i++;
    165. }
    166. }
    167. }
    168.  
    169.  
    170.  
    171. int main()
    172. {
    173. // VARIABLE DECLARATIONS
    174. Hex hex;
    175. hex.HexToBin("A24B");
    176. return 0;
    177. }