Префикс 0x
является стандартным для нескольких языков. Обозначает начало шестнадцатеричного числа. Суффикс L
обозначает длинное значение на нескольких языках (например, C).
Если вы перегруппируете его, легче увидеть его значение:
4 0000 0000 0000
, что эквивалентно:
0004 0000 0000 0000
Каждая группа имеет два байта, поэтому общая длина составляет восемь байтов.
Два старших байта (те, что слева): 00
и 04
, что в двоичном виде 0000 0000 0000 0100
. Другими словами, значение имеет только 51-й установленный бит (отсчитывается справа, так называемый младший бит), все остальные биты очищаются. Похоже, немного маски (флаг). Для полноты вот двоичное представление:
0000 0000 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Каждая группа, разделенная пробелом, является полубайтом, каждые четыре группы равны двум байтам.
Таким образом, число является вполне допустимым 64-битным значением. Но, может быть, вы путаете значение с представлением символа? Поскольку это, конечно, не так, то это будет за пределами диапазона Юникода (который достигает 0x10FFF IIRC).
Кстати, число, преобразованное в десятичное число, составляет 1.125.899.906.842.620, и все это должен показывать приличный калькулятор (например, калькулятор Apple в Mac OS X хорошо работает, когда установлен в режим программирования) .