fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. cout << "Число 10. Двоичное представление: 1010" << "\n";
  6. uint32_t t = 10;
  7.  
  8. cout << "Выводим в консоль содержимое переменной t:" << "\n";
  9. cout << "t:" << t << "\n";
  10.  
  11. // Выводим в консоль размер переменной t в байтах
  12. cout << "Выводим в консоль размер переменной t в байтах:" << "\n";
  13. uint32_t size_t = sizeof(t);
  14. cout << "sizeof(t): " << size_t << "\n";
  15.  
  16. cout << "Размер в битах. В одном байте 8 бит:" << "\n";
  17. uint32_t size_t_bits = size_t * 8;
  18. cout << "sizeof(t) bytes: " << size_t_bits << "\n";
  19.  
  20. cout << "Для проверки того, установленна ли в определенный бит еденица, используется \n";
  21. cout << "оператор сдвига вправо и логическое и (&) с единицей. \n";
  22.  
  23. // Какой бит нас интересует (нумерация с нуля, справа на лево)
  24. uint32_t bit = 1;
  25.  
  26. if (t >> bit & 1)
  27. {
  28. cout << "1";
  29. }
  30. else
  31. {
  32. cout << "0";
  33. }
  34.  
  35. // Если же нам нужно узнать, установленны ли определенные биты, то
  36. // в калькуляторе в режиме "программист" в двоичном представлении числа
  37. // выставляем нужные биты и проверяем условием через &.
  38. // Например в 11101101 проверить установку 2 и 3 бита:
  39. // 11101101 = 493 в десятичной. 00001100 = 12 в десятичной
  40.  
  41. cout << "493 & 12 \n";
  42.  
  43. if (493 & 12)
  44. {
  45. cout << "установлено";
  46. }
  47. else
  48. {
  49. cout << "не установлено";
  50. }
  51.  
  52.  
  53. return 0;
  54. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function 'int main()':
prog.cpp:6:10: error: 'uint32_t' was not declared in this scope
          uint32_t t = 10;
          ^
prog.cpp:9:26: error: 't' was not declared in this scope
          cout << "t:" << t << "\n";
                          ^
prog.cpp:13:19: error: expected ';' before 'size_t'
          uint32_t size_t = sizeof(t);
                   ^
prog.cpp:14:42: error: expected primary-expression before '<<' token
          cout << "sizeof(t): " << size_t << "\n";
                                          ^
prog.cpp:17:19: error: expected ';' before 'size_t_bits'
          uint32_t size_t_bits = size_t * 8;
                   ^
prog.cpp:18:41: error: 'size_t_bits' was not declared in this scope
          cout << "sizeof(t) bytes: " << size_t_bits << "\n";
                                         ^
prog.cpp:24:19: error: expected ';' before 'bit'
          uint32_t bit = 1; 
                   ^
prog.cpp:26:19: error: 'bit' was not declared in this scope
          if (t >> bit & 1)
                   ^
stdout
Standard output is empty