Цитата(juvf @ Mar 20 2018, 13:36)

Это вы знаете, так как вы знаете, что так и куда приводиться. Вы знаете что там BitBanding. у того же АНТОХА
возвращает ноль и НЕ НОЛЬ, а не ноль может быть и 1<<5. Ни куда не надо лезть, из шапки всё понятно.
Если писать для людей (да и для себя. т.к. сможете забыть), то уж лучше уже в шапке чиркнуть возвращаемое значение. Хотел сразу про это сказать, но у вас код "для себя". ))
Согласен, задокументировал плохо. Переделаю.
Цитата(Forger @ Mar 20 2018, 13:41)

В особых случаях, если число пинов позволяет, то я бы задействовал не один двунаправленный, а два однонаправленных пина, соединенных вместе: один на выход, второй на вход.
Но признаюсь, с таким пока еще ни разу никогда не сталкивался.
"Широкая" параллельная шина для связи например с FPGA
Цитата(Forger @ Mar 20 2018, 13:41)

Надуманная "проблема" или я не пойму о чем речь. Приведите пример ))
Пример - есть параллельная 4-битная шина висящая на пинах 1(bit0), 11(bit1), 12(bit2) и 5(bit3) (ну получилось так при разводке). Необходимо записать на шину определенное число. Сколько операций займут у вас битовые манипуляции?
Цитата(Forger @ Mar 20 2018, 13:41)

А вот этот момент просвятите, пожалуйста, по-подробнее, разумеется, в применении к нашей области (МК)

Если возможно, то конкретные ситуации, где это действительно оказалось полезным.
Пожалуйста. Мне например очень помогает нормальная поддержка
constexpr. Это помогает резко экономить RAM, которого никогда не хватает. Или инитить что-либо. Например
Код
struct S {
int a;
int b;
int c;
};
constexpr S R[] = {{0,1,2}, {3,4,5}, {6,7,8}};
constexpr int sum ( void ) {
int temp = 0;
for (int i = 0; i < sizeof(R)/sizeof(S); i++) temp += R.b;
return temp;
}
const int summa = sum();
int array[summa];
создание массива на этапе компиляции, размер которого зависит от суммы всех R.b. Причем размер R не играет значения. Пример абсолютно абстрактный.
Очень приятная фишка variadic template - помогает КРАСИВО и БЫСТРО делать например делегаты и списки типов.
Я уж молчу про битовые литералы

P.S. Забыл сказать - динамическое выделение памяти у нас на работе запрещено внутренним регламентом.