Advertisement
dimon2242

Converter Dec To Bin

Sep 24th, 2014
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #define NDEBUG
  4.  
  5. using namespace std;
  6.  
  7. void reverse(vector<bool> &);
  8. vector<bool> convert(int num);
  9. vector<bool> decToBin(const int num);
  10.  
  11. vector<bool> decToBin(const int num) {
  12.     vector<bool> binaryVector = convert(num);
  13.     reverse(binaryVector);
  14.     return binaryVector;
  15. }
  16.  
  17. vector<bool> convert(int num) {
  18.     int number = num;
  19.     vector<bool> binaryVector;
  20.     while(number > 0) {
  21.         binaryVector.push_back(number % 2);
  22.         number /= 2;
  23.     }
  24. #ifndef NDEBUG
  25.     cout <<"DEBUG! " << endl;
  26.     for(auto c : binaryVector)
  27.         cout << c;
  28.     cout << endl;
  29. #endif
  30.     return binaryVector;
  31. }
  32.  
  33. void reverse(vector<bool> &binaryVector) {
  34.     vector<bool> reverseVector(binaryVector.size());
  35.     auto endRev = reverseVector.size() - 1;
  36.     for(auto i = 0; i != binaryVector.size(); ++i) {
  37.         reverseVector[endRev - i] = binaryVector[i];
  38.     }
  39.     binaryVector = reverseVector;
  40. }
  41.  
  42. int main() {
  43.     int number;
  44.     cin >> number;
  45.     if(number == 0) {
  46.         cout << '0' << endl;
  47.         return 0;
  48.     }
  49.     vector<bool> result = decToBin(number);
  50.     for(auto c : result)
  51.         cout << c;
  52.     cout << endl;
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement