fork download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. int int_length(int bit_number);
  7. int bin_to_int(int bit_number);
  8.  
  9. int main()
  10. {
  11. cout << bin_to_int(111100010) << endl;
  12. return 0;
  13. }
  14.  
  15. int int_length(int bit_number){
  16. bool found = false;
  17. int digit_count = 0;
  18.  
  19. while(!found){
  20. int division = bit_number / pow(10, digit_count);
  21. if(division < 1){
  22. found = true;
  23. }
  24. else{
  25. digit_count++;
  26. }
  27. }
  28. return digit_count;
  29. }
  30.  
  31. int bin_to_int(int bit_number){
  32. int number_length = int_length(bit_number);
  33.  
  34. int number = 0;
  35.  
  36. for(int i = 0; i < number_length; i++){
  37. int e = pow(10, i);
  38. int digit = (bit_number / e) % 10;
  39. digit = digit * pow(2, i);
  40. number = number + digit;
  41. }
  42.  
  43. return number;
  44.  
  45. }
Success #stdin #stdout 0s 4312KB
stdin
Standard input is empty
stdout
482