#include <bits/stdc++.h>
using namespace std;
int main()
{
system("chcp 1251");
char s; /* код системной области */
char d; /* признак «грязного» буфера */
char f; /* признак свободного буфера */
unsigned char b; /* номер блока */
unsigned int UnitStateWord; /* Блок управления */
/* ввод блока управления */
cout << "Введите блок управления \n";
cout << "(16-ричное число от 0 до 0xFFFF) >";
scanf("%x",&UnitStateWord);
/* Выделение составных частей */
s = (UnitStateWord>>13)&0x1F;
d = (UnitStateWord>>11)&1;
f = (UnitStateWord>>9)&1;
b = UnitStateWord&0xFF;
/* вывод результатов */
cout << endl;
cout << "Код системной области" << s << endl;;
cout << "Признак «грязного» буфера " << d << endl;;
cout << "Признак свободного буфера " << f << endl;;
cout << "Номер блока " << b << endl;;
return 0;
}
s = (UnitStateWord & 0xD000) >> 13;
d = (UnitStateWord & 0x0800) >> 11;
f = (UnitStateWord & 0x0200) >> 9;
b = UnitStateWord & 0x00FF;