fork download
  1. #include <iostream>
  2.  
  3. char TRANSFORM_NUMBER(int number) {
  4. if (number > 9)
  5. return char((65+number)-10);
  6. else
  7. return char(48+number);
  8. }
  9.  
  10. std::string transformTo(int number, const int &value) {
  11. if (number < 0 || value < 1 || value > 36)
  12. return "ERROR";
  13.  
  14. std::string num;
  15. while (number) {
  16. num.insert(num.begin(), TRANSFORM_NUMBER(number % value));
  17. number /= value;
  18. }
  19. return num;
  20. }
  21. /*
  22. Maksymalna wartosc drugiego argumentu
  23. to 36 ze względu na to, że nie ma sensu
  24. używać znaków po 'Z'.
  25. Jeżeli chcesz tworzyć np. system stó-dwódziestkowy(?)
  26. to odblokuj to w funkcji, aczkolwiek znaki będą dziwne xd
  27. */
  28.  
  29. int main() {
  30. std::cout << transformTo(70, 2) << std::endl; //konwertuj 70 na dwójkowy
  31. std::cout << transformTo(70, 4) << std::endl; //konwertuj 70 na czwórkowy
  32. std::cout << transformTo(70, 8) << std::endl; //konwertuj 70 na ósemkowy
  33. std::cout << transformTo(70, 10) << std::endl;//konwertuj 70 na dziesiętny
  34. std::cout << transformTo(70, 16) << std::endl;//konwertuj 70 na szesnastkowy
  35.  
  36. std::cin.get();
  37. return 0;
  38. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
1000110
1012
106
70
46