Цитата(pimen @ Jan 6 2008, 03:02)

это нечто...
Главная ошибка - Вы начали использовать "нечто" пытающееся эмулировать дебильную бинарную запись при наличии в языках много более удобных средств, например, возможности поименовать биты. Разбираться (только зачем - правильнее не пользоваться) можете начинать с реализации этой самой 0b....
Потенциальная ошибка - препроцессор особым умом обычно особо не отличается, посему не не искушайте его и пользуйтесь не менее выразительным " <<( 8-3 )" а не "(<<8)>>3"
Примечание - разрядность констант не резиновая и по умолчанию чаще всего 16bit, посему нежели в будующем потребуется большая, то не забудте указать сие явно через 'L'.
C некоторой долей вероятности основываясь на типичных ошибках в реализации макросов на основе которых построено "нечто" можете попробовать:
T=(0b10001100) << (8-3);