fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. // your code goes here
  6. uint16_t a;
  7. ((uint8_t*)&a)[0] = 0b0;
  8. ((uint8_t*)&a)[1] = 0b00000100;
  9.  
  10. //копируем куда угодно
  11. uint8_t b = ((uint8_t*)&a)[0];
  12. uint8_t* ptr = ((uint8_t*)&a) + 1;
  13.  
  14. std::cout << "Number:\t\t" << a << std::endl;
  15. //используем скопированное значение
  16. std::cout << "First uint8:\t"<< unsigned(b) << std::endl;
  17. //указатель на него
  18. std::cout << "Scnd uint8:\t\t"<< unsigned(*ptr) << std::endl;
  19. //или прямой доступ
  20. std::cout << "First uint8:\t"<< unsigned(((uint8_t*)&a)[0]) << std::endl;
  21. std::cout << "Scnd uint8:\t\t"<< unsigned(((uint8_t*)&a)[1]) << std::endl;
  22.  
  23. //PS unsigned() не нужен, но без него выводит как char
  24. return 0;
  25. }
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
Number:		1024
First uint8:	0
Scnd uint8:		4
First uint8:	0
Scnd uint8:		4