fork(1) 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;
  39.  
  40. if(e < 10){
  41. digit = bit_number % 10;
  42. digit = digit * pow(2, i);
  43. number = number + digit;
  44. }
  45. else{
  46. digit = (bit_number / e) % 10;
  47. digit = digit * pow(2, i);
  48. number = number + digit;
  49. }
  50. }
  51.  
  52. return number;
  53.  
  54. }
Success #stdin #stdout 0s 4600KB
stdin
Standard input is empty
stdout
482