Зато можно извратиться и написать макрос, который на этапе компиляции тебе BIN(101) переведёт в 5. Если число 101 не слишком большое :) Для однобайтных точно хватит. Для 4-байтных можно извратиться ещё сильнее и написать макрос типа BIN(10101010, 01010101, 10011001, 01100110).
2ban :
Периодически тут всплывающий вопрос...
Помнится, предлагалось даже так проблему решить:
#define _00000000 0
#define _00000001 1
...
#define _11111111 255
(я тогда предложил "до кучи", чтобы таблицу умножения
не запоминать, такой .h файл налабать:
#define _2x2 4
#define _2x3 6
etc.)
Учи шестнадцатиричную таблицу! Она -- меньше, чем таблица
умножения, которою даже дети одолевают...