Public paste
Undefined
By: awegawe | Date: Nov 27 2007 05:38 | Format: C++ | Expires: never | Size: 1.08 KB | Hits: 2061

  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. string bin2dec(int num)
  7.         {
  8.         string bit = " ";
  9.         bit[0] =('0' + (num % 2));
  10.  
  11.         if (num / 2)
  12.                 return  ( bin2dec(num/2) + bit );
  13.         else
  14.                 return bit;
  15.         }
  16.  
  17. string convert(int num, int minlen)
  18.         {
  19.         int worknum = num;
  20.         string retval;
  21.  
  22.         if (num < 0)
  23.                 {
  24.                 worknum = 0 - worknum;
  25.                 retval = bin2dec(worknum);
  26.                 //do some 2's complement foo
  27.                 }
  28.         else
  29.                 retval = bin2dec(worknum);
  30.  
  31.         while (retval.length() < minlen)
  32.                 retval = "0" + retval;
  33.  
  34.  
  35.         return retval;
  36.         }
  37.  
  38. int main()
  39.         {
  40.         int minlen;
  41.         int num;
  42.  
  43.         string superduper;
  44.  
  45.         cout << "min len: ";
  46.         cin >> minlen;
  47.  
  48.         cout << endl << "num to convert: ";
  49.         cin >> num;
  50.  
  51.         superduper = convert(num, minlen);
  52.         cout << endl << superduper << endl;
  53.  
  54.         return 0;
  55.         }