Как получить i-й бит целого числа без смещения бит? - PullRequest
0 голосов
/ 26 апреля 2020

Допустим, у меня есть 16-разрядное целое число x, и я хочу выяснить, равен ли i-й бит x 0 или 1. Я не могу использовать битовые сдвиги, но я может использовать предопределенный массив twoToThe длины 16, где twoToThe[j] содержит 2 в степени j. Я думаю, что могу выполнить sh то, что я ищу, используя побитовые логические операции, но я не уверен, как go об этом. Есть предложения?

1 Ответ

1 голос
/ 26 апреля 2020

Понял. Вы можете проверить, равен ли x & twoToThe[i] 0. Если это так, то должно быть верно, что i -й бит x равен 0. Если это что-то отличное от 0, то i - бит x равен 1.

...