fork download
  1. #include <iostream>
  2. #include <ctime>
  3. #include <time.h>
  4.  
  5.  
  6. using namespace std;
  7.  
  8.  
  9.  
  10.  
  11. int main() {
  12.  
  13. time_t now = time(0);
  14. struct tm ltm;
  15. localtime_r(&now, &ltm);
  16. uint8_t bTime[4];
  17. uint8_t year = (ltm.tm_year >= 100) ? (ltm.tm_year - 100) : 0;
  18. uint8_t month = ltm.tm_mon + 1; // 1-12
  19. uint8_t day = ltm.tm_mday; // 1-31
  20.  
  21. uint32_t packed = 0;
  22. packed |= (year & 0x7F) << 25; // 7 bit
  23. packed |= (month & 0x0F) << 21; // 4 bit
  24. packed |= (day & 0x1F) << 16; // 5 bit
  25. packed |= (ltm.tm_hour & 0x1F) << 11; // 5 bit
  26. packed |= (ltm.tm_min & 0x3F) << 5; // 6 bit
  27. packed |= (ltm.tm_sec & 0x1F); // 5 bit
  28.  
  29. bTime[0] = (packed >> 24) & 0xFF;
  30. bTime[1] = (packed >> 16) & 0xFF;
  31. bTime[2] = (packed >> 8) & 0xFF;
  32. bTime[3] = packed & 0xFF;
  33.  
  34. return 0;
  35. }
Success #stdin #stdout 0.01s 5280KB
stdin
3
2 2
1 1
1 1
2 2
1 1
1 2
3 4
1 2 1 2
1 1 1 2
1 1 2 2
stdout
Standard output is empty