avr39ripe

cppBinTodecFunction

Aug 16th, 2021
721
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. int binToDec(int bin)
  4. {
  5.     int bit{0};
  6.     int dec{0};
  7.  
  8.     // Sport version :)
  9.  
  10.     for (int mul{ 1 }, bit{ 0 }; (bit = bin % 10), bin and ((bit == 0 or bit == 1) ? 1 : (dec = -1, 0)); dec += bit * mul, mul *= 2, bin /= 10);
  11.    
  12.     // Simple version
  13.     //
  14.     //for (int mul{ 1 }; bin; mul *= 2, bin /= 10)
  15.     //{
  16.     //    bit = bin % 10;
  17.  
  18.     //    if (bit == 0 or bit == 1)
  19.     //    {
  20.     //        dec += bit * mul;
  21.     //    }
  22.     //    else
  23.     //    {
  24.     //        dec = -1;
  25.     //        break;
  26.     //    }
  27.     //}
  28.     return dec;
  29. }
  30.  
  31. int main()
  32. {
  33.     int bin{ 21111111 };
  34.     int dec{};
  35.  
  36.     std::cout << "Enter binary number\n";
  37.     std::cin >> bin;
  38.    
  39.     dec = binToDec(bin);
  40.    
  41.     if (dec >= 0)
  42.     {
  43.         std::cout << "Number in dec is " << dec << '\n';
  44.     }
  45.     else
  46.     {
  47.         std::cout << "Error in bin nubber!\n";
  48.     }
  49.  
  50.     return 0;
  51. }
  52.  
RAW Paste Data