Было бы полезно узнать, ПОЧЕМУ вы хотите сделать это с помощью битовой маскировки, потому что иногда есть более эффективные способы решения вашей проблемы в целом, чем этот маленький запрос.
У меня такое ощущение, что это домашняя работа, так как поиск этой проблемы нашел меня на форумах с тем же запросом, что и домашняя работа. Если это домашнее задание, то, пожалуйста, пометьте его как домашнее задание, как вы делали с другим вопросом, который вы недавно задавали.
Мне удалось найти этот сайт благодаря Google
Возможно, это поможет вам понять ...
void convertBase(int decimal) //Function that convert decimal to base of 8
{
const int mask1 = (7 << 3);
const int mask2 = (7 << 0);
firstDigit = (decimal & mask1) + '0';
secondDigit = (decimal & mask2) + '0';
printf("Octal Representation of Binary Number: %d%d\n", firstDigit, secondDigit);
}