#include <iostream>
using namespace std;
int main( ) {
cout << "Число 10. Двоичное представление: 1010" << "\n " ;
uint32_t t = 10 ;
cout << "Выводим в консоль содержимое переменной t:" << "\n " ;
cout << "t:" << t << "\n " ;
// Выводим в консоль размер переменной t в байтах
cout << "Выводим в консоль размер переменной t в байтах:" << "\n " ;
uint32_t size_t = sizeof ( t) ;
cout << "sizeof(t): " << size_t << "\n " ;
cout << "Размер в битах. В одном байте 8 бит:" << "\n " ;
uint32_t size_t_bits = size_t * 8 ;
cout << "sizeof(t) bytes: " << size_t_bits << "\n " ;
cout << "Для проверки того, установленна ли в определенный бит еденица, используется \n " ;
cout << "оператор сдвига вправо и логическое и (&) с единицей. \n " ;
// Какой бит нас интересует (нумерация с нуля, справа на лево)
uint32_t bit = 1 ;
if ( t >> bit & 1 )
{
cout << "1" ;
}
else
{
cout << "0" ;
}
// Если же нам нужно узнать, установленны ли определенные биты, то
// в калькуляторе в режиме "программист" в двоичном представлении числа
// выставляем нужные биты и проверяем условием через &.
// Например в 11101101 проверить установку 2 и 3 бита:
// 11101101 = 493 в десятичной. 00001100 = 12 в десятичной
cout << "493 & 12 \n " ;
if ( 493 & 12 )
{
cout << "установлено" ;
}
else
{
cout << "не установлено" ;
}
return 0 ;
}
ICAgICAgICAjaW5jbHVkZSA8aW9zdHJlYW0+CiAgICAgICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKICAgICAKICAgICAgICBpbnQgbWFpbigpIHsKICAgICAgICAJY291dCA8PCAi0KfQuNGB0LvQviAxMC4g0JTQstC+0LjRh9C90L7QtSDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtTogMTAxMCIgPDwgIlxuIjsKICAgICAgICAJdWludDMyX3QgdCA9IDEwOwogICAgIAogICAgICAgIAljb3V0IDw8ICLQktGL0LLQvtC00LjQvCDQsiDQutC+0L3RgdC+0LvRjCDRgdC+0LTQtdGA0LbQuNC80L7QtSDQv9C10YDQtdC80LXQvdC90L7QuSB0OiIgPDwgIlxuIjsKICAgICAgICAJY291dCA8PCAidDoiIDw8IHQgPDwgIlxuIjsKICAgICAKICAgICAgICAJLy8g0JLRi9Cy0L7QtNC40Lwg0LIg0LrQvtC90YHQvtC70Ywg0YDQsNC30LzQtdGAINC/0LXRgNC10LzQtdC90L3QvtC5IHQg0LIg0LHQsNC50YLQsNGFCiAgICAgICAgCWNvdXQgPDwgItCS0YvQstC+0LTQuNC8INCyINC60L7QvdGB0L7Qu9GMINGA0LDQt9C80LXRgCDQv9C10YDQtdC80LXQvdC90L7QuSB0INCyINCx0LDQudGC0LDRhToiIDw8ICJcbiI7CiAgICAgICAgCXVpbnQzMl90IHNpemVfdCA9IHNpemVvZih0KTsKICAgICAgICAJY291dCA8PCAic2l6ZW9mKHQpOiAiIDw8IHNpemVfdCA8PCAiXG4iOwogICAgIAogICAgICAgIAljb3V0IDw8ICLQoNCw0LfQvNC10YAg0LIg0LHQuNGC0LDRhS4g0JIg0L7QtNC90L7QvCDQsdCw0LnRgtC1IDgg0LHQuNGCOiIgPDwgIlxuIjsKICAgICAgICAJdWludDMyX3Qgc2l6ZV90X2JpdHMgPSBzaXplX3QgKiA4OwogICAgICAgIAljb3V0IDw8ICJzaXplb2YodCkgYnl0ZXM6ICIgPDwgc2l6ZV90X2JpdHMgPDwgIlxuIjsKICAgICAKICAgICAgICAJY291dCA8PCAi0JTQu9GPINC/0YDQvtCy0LXRgNC60Lgg0YLQvtCz0L4sINGD0YHRgtCw0L3QvtCy0LvQtdC90L3QsCDQu9C4INCyINC+0L/RgNC10LTQtdC70LXQvdC90YvQuSDQsdC40YIg0LXQtNC10L3QuNGG0LAsINC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyBcbiI7CiAgICAgICAgCWNvdXQgPDwgItC+0L/QtdGA0LDRgtC+0YAg0YHQtNCy0LjQs9CwINCy0L/RgNCw0LLQviDQuCDQu9C+0LPQuNGH0LXRgdC60L7QtSDQuCAoJikg0YEg0LXQtNC40L3QuNGG0LXQuS4gXG4iOwogICAgIAogICAgICAgIAkvLyDQmtCw0LrQvtC5INCx0LjRgiDQvdCw0YEg0LjQvdGC0LXRgNC10YHRg9C10YIgKNC90YPQvNC10YDQsNGG0LjRjyDRgSDQvdGD0LvRjywg0YHQv9GA0LDQstCwINC90LAg0LvQtdCy0L4pCiAgICAgICAgCXVpbnQzMl90IGJpdCA9IDE7IAogICAgIAogICAgICAgIAlpZiAodCA+PiBiaXQgJiAxKQogICAgICAgIAl7CiAgICAgICAgCQljb3V0IDw8ICIxIjsKICAgICAgICAJfQogICAgICAgIAllbHNlCiAgICAgICAgCXsKICAgICAgICAJCWNvdXQgPDwgIjAiOwogICAgICAgIAl9CiAgICAgCiAgICAgICAgCS8vINCV0YHQu9C4INC20LUg0L3QsNC8INC90YPQttC90L4g0YPQt9C90LDRgtGMLCDRg9GB0YLQsNC90L7QstC70LXQvdC90Ysg0LvQuCDQvtC/0YDQtdC00LXQu9C10L3QvdGL0LUg0LHQuNGC0YssINGC0L4KICAgICAgICAJLy8g0LIg0LrQsNC70YzQutGD0LvRj9GC0L7RgNC1INCyINGA0LXQttC40LzQtSAi0L/RgNC+0LPRgNCw0LzQvNC40YHRgiIg0LIg0LTQstC+0LjRh9C90L7QvCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQuCDRh9C40YHQu9CwIAogICAgICAgIAkvLyDQstGL0YHRgtCw0LLQu9GP0LXQvCDQvdGD0LbQvdGL0LUg0LHQuNGC0Ysg0Lgg0L/RgNC+0LLQtdGA0Y/QtdC8INGD0YHQu9C+0LLQuNC10Lwg0YfQtdGA0LXQtyAmLgogICAgICAgIAkvLyDQndCw0L/RgNC40LzQtdGAINCyIDExMTAxMTAxINC/0YDQvtCy0LXRgNC40YLRjCDRg9GB0YLQsNC90L7QstC60YMgMiDQuCAzINCx0LjRgtCwOiAKICAgICAgICAJLy8gMTExMDExMDEgPSA0OTMg0LIg0LTQtdGB0Y/RgtC40YfQvdC+0LkuIDAwMDAxMTAwID0gMTIg0LIg0LTQtdGB0Y/RgtC40YfQvdC+0LkgCiAgICAgCiAgICAgICAgCWNvdXQgPDwgIjQ5MyAmIDEyIFxuIjsKICAgICAKICAgICAgICAJaWYgKDQ5MyAmIDEyKQogICAgICAgIAl7CiAgICAgICAgCQljb3V0IDw8ICLRg9GB0YLQsNC90L7QstC70LXQvdC+IjsKICAgICAgICAJfQogICAgICAgIAllbHNlCiAgICAgICAgCXsKICAgICAgICAJCWNvdXQgPDwgItC90LUg0YPRgdGC0LDQvdC+0LLQu9C10L3QviI7CiAgICAgICAgCX0KICAgICAKICAgICAKICAgICAgICAJcmV0dXJuIDA7CiAgICAgICAgfQ==
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