Алексей, в int-е неизвестно, сколько точно байт. Можно использовать типы "uint16_t" - беззнаковое двухбайтовое целое (этот тип и аналогичные ему "uint8_t", "uint32_t" объявлены в библиотеке "stdint.h").
Тогда установка 4 старших битов будет выглядеть вот так:
uint16_t x;
scanf("%X", &x);
x = x | 0xF000;
размер переменной влияет только на количество нулей константы 0xF000.
В вашем примере вы объявили chislo как char (8 байт), а ввели с клавиатуры 0xA123 (16 байт), поэтому отработало неверно.
Роман: про конкретные объекты в справке Embarcadero есть docwiki.embarcadero.com/Libraries/Seattle/en/FireD...
Но вообще можно начать как раз с книжек 2010 года - сама суть Delphi и C++ Builder-а вроде как особо не меняется с XE. Так что даже старые книги типа "Самоучитель по Delphi/C++ Builder" подойдут, чтобы разобраться с базовыми объектами, их свойствами, функциями и так далее, а потом уже переходить на конкретные объекты, связанные с MongoDB