Advertisement
NickG

dafuq?

Apr 3rd, 2012
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.13 KB | None | 0 0
  1. #include <iostream>
  2. #include <sstream>
  3. using namespace std;
  4.  
  5. struct binary_t {
  6. string bin;
  7. int bits;
  8. };
  9.  
  10. binary_t binprint (unsigned int number) {
  11. int bin;
  12. binary_t binary;
  13. binary.bits=0;
  14. stringstream out;
  15.  
  16. do {
  17.    bin = number%2;
  18.    number/=2;
  19.    binary.bits++;
  20.    out << bin;
  21.    binary.bin=out.str()+binary.bin;
  22.    out.str("");
  23.    } while (number>0);
  24. return binary;
  25. }
  26.  
  27. int main()
  28. {
  29. char response;
  30. union {
  31. unsigned int a;
  32. float b;
  33. char c;
  34. } blarg;
  35.  
  36. do {
  37.    cout << "a) unsigned int\nb) float\nc) char\nInput as:";
  38.    cin >> response;
  39.    cin.ignore(255,'\n');
  40.    } while (response!='a'&&response!='b'&&response!='c');
  41. cout << "Input:";
  42. switch (response) {
  43.    case 'a':
  44.       cin >> blarg.a;
  45.       break;
  46.    case 'b':
  47.       cin >> blarg.b;
  48.       break;
  49.    case 'c':
  50.       cin >> blarg.c;
  51.       break;
  52.       }
  53. binary_t binary = binprint(blarg.a);
  54. cout << "unsigned int:" << blarg.a <<endl;
  55. cout << "float:" << blarg.b <<endl;
  56. cout << "char:" << blarg.c <<endl;
  57. cout << "binary:" << binary.bin <<endl;
  58. cout << "number of significant bits:" << binary.bits <<endl;
  59. cin.ignore(255, '\n');
  60. cin.get();
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement