нужен метод для возврата значения определенного бита int

#java

#java

Вопрос:

Я думаю, мне нужен служебный метод, подобный этому:

 public static short bitValue(int intNum, short pos)
{
    short bitValue = 0;

    //check pos bit (from right to left) in the intNum integer to see its value is 0 or 1
    //And then update the bitValue for return

    return bitValue;
}
  

Я провожу исследование, чтобы узнать, как это сделать сейчас. Если у кого-нибудь из вас, парень, есть код на руках, пожалуйста, поделитесь со мной. Спасибо

Ответ №1:

Просто выполните сдвиг и замаскируйте:

 return (short) ((intNum >> pos) amp; 1);
  

Это предполагает, что вы хотите возвращаемое значение 1 или 0, конечно. Если вам нужен сам бит с тем же значением, вам нужно изменить возвращаемый тип на int и использовать:

 return intNum amp; (1 << intNum);
  

Комментарии:

1. Я только хочу знать значение этого бита, указанного параметром pos. Спасибо. Теперь мне нужно просмотреть эти операторы сдвига.

Ответ №2:

Если вам приходится иметь дело с битами, превышающими значение слова, рассмотрите возможность использования BitSet .