Это:
Long.toHexString(0xFFFFFFFF)
эквивалентно:
Long.toHexString(-1)
, что эквивалентно:
Long.toHexString(0xFFFFFFFFFFFFFFFFL)
По сути, проблема в том, что вы указываете отрицательное значение int
, которое затем преобразуется в эквивалентное отрицательное значение long , которое состоит из «всех F». Если вы действительно хотите 8 Fs, вы должны использовать:
Long.toHexString(0xFFFFFFFFL)