Advertisement
Guest User

Untitled

a guest
Jul 25th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. /**
  2. * Used to print out a long long number
  3. * @param n {int64_t} The signed number
  4. * @param base {uint8_t} The base you want to print in. DEC, HEX, BIN
  5. */
  6. String OpenBCI_Wifi_Class::getStringLLNumber(long long n, uint8_t base) {
  7. return String(n < 0 ? "-" : "") + getStringLLNumber((unsigned long long)(-1*n), base);
  8. }
  9. /**
  10. * Used to print out a long long number
  11. * @param n {int64_t} The signed number
  12. */
  13. String OpenBCI_Wifi_Class::getStringLLNumber(long long n) {
  14. return getStringLLNumber(n, DEC);
  15. }
  16. /**
  17. * Used to print out an unsigned long long number
  18. * @param n {uint64_t} The unsigned number
  19. * @param base {uint8_t} The base you want to print in. DEC, HEX, BIN
  20. */
  21. String OpenBCI_Wifi_Class::getStringLLNumber(unsigned long long n, uint8_t base) {
  22. unsigned char buf[16 * sizeof(long)]; // Assumes 8-bit chars.
  23. unsigned long long i = 0;
  24. if (n == 0) {
  25. return "0";
  26. }
  27. String output;
  28. while (n > 0) {
  29. buf[i++] = n % base;
  30. n /= base;
  31. }
  32. for (; i > 0; i--) {
  33. output = output + String((char) (buf[i - 1] < 10 ?
  34. '0' + buf[i - 1] :
  35. 'A' + buf[i - 1] - 10));
  36. }
  37. return output;
  38. }
  39. /**
  40. * Used to print out an unsigned long long number in base DEC
  41. * @param n {uint64_t} The unsigned number
  42. */
  43. String OpenBCI_Wifi_Class::getStringLLNumber(unsigned long long n) {
  44. return getStringLLNumber(n, DEC);
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement