Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #define NDEBUG
- using namespace std;
- void reverse(vector<bool> &);
- vector<bool> convert(int num);
- vector<bool> decToBin(const int num);
- vector<bool> decToBin(const int num) {
- vector<bool> binaryVector = convert(num);
- reverse(binaryVector);
- return binaryVector;
- }
- vector<bool> convert(int num) {
- int number = num;
- vector<bool> binaryVector;
- while(number > 0) {
- binaryVector.push_back(number % 2);
- number /= 2;
- }
- #ifndef NDEBUG
- cout <<"DEBUG! " << endl;
- for(auto c : binaryVector)
- cout << c;
- cout << endl;
- #endif
- return binaryVector;
- }
- void reverse(vector<bool> &binaryVector) {
- vector<bool> reverseVector(binaryVector.size());
- auto endRev = reverseVector.size() - 1;
- for(auto i = 0; i != binaryVector.size(); ++i) {
- reverseVector[endRev - i] = binaryVector[i];
- }
- binaryVector = reverseVector;
- }
- int main() {
- int number;
- cin >> number;
- if(number == 0) {
- cout << '0' << endl;
- return 0;
- }
- vector<bool> result = decToBin(number);
- for(auto c : result)
- cout << c;
- cout << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement