Binary formatter for more than 8bit

I will have to start with an apology because I am unsure of the terminology, corrections welcome.

I am concatenating a number of HIGH/LOW flags into a bit array
I then use this bit array as the variable in a switch case
I then use Binary formatting (e.g. B10101111) for the case statements against which the variable will be compared

This works fine for up to 8 flags. But Binary formatting will not work for more than 8bit

I have generated the following code to perform Binary formatting for up to 16bits
In this example it generates the bit array 11001111101 = 1661

Can anybody tell me a more convenient/elegant way of doing this?
By convenient I mean something closer to typing in B11001111101

void setup() {
  Serial.begin(9600);
}

void loop() {
  unsigned int x = unsigned((B11001111 * 256UL) + (B101 << 5)) >> 5;
  Serial.println(x);
}

I think the "B" format is an Arduino "specialty". It is not standard C/C++.

Try this, using the standard binary literal notation.

void setup() {
  // put your setup code here, to run once:
unsigned int x = 0b101011111101;
Serial.begin(9600);
Serial.println(x,BIN);
}

void loop() {
  // put your main code here, to run repeatedly:

}

Yes, that solved it, cheers jremington

In this Arduino reference it says the following. I am surprised they didn't point out the option for a 0b prefix in there: -

The binary formatter only works on bytes (8 bits) between 0 (B0) and 255 (B11111111). If it is convenient to input an int (16 bits) in binary form you can do it a two-step procedure such as:

myInt = (B11001100 * 256) + B10101010;  // B11001100 is the high byte`