Мне нужно извлечь точный диапазон бит из существующего длинного, в частности мне нужны биты 51:12 от 64-битного значения.Диапазон битовой маски Java
Значение:
0x0000000415B2C01E
Таким образом, значение битов 51:12 должно быть:
0x0000415B2C
Я немного запутался, как на самом деле извлечь этот диапазон, или любой в этом отношении. Мне сказали, что просто сдвиг влево на 12 (значение < < 12), чтобы получить биты, мне нужно, но это дает мне значение:
0x415B2C01E000
Теперь я мог бы быть полностью недоразумение, как немного сдвигая работы, но я не могу понять, как извлекать диапазоны бит. Я нашел много существующего материала, но теперь я все больше смущен.
Если кто-нибудь может мне помочь, это, безусловно, будет оценено.
Благодаря
сдвиг вправо, а не сдвиг влево, что сделает 51:12 наименее значимые биты –
Используйте '' & оператора. – 2013-03-18 15:56:35