Битовые манипуляции в Go: установка и очистка отдельных битов
В Go манипулирование отдельными битами внутри целого числа может быть полезным методом для различных приложения. Один из способов добиться этого — побитовые операции.
Установка бита
Чтобы установить бит в определенную позицию, вы можете использовать следующую функцию:
func setBit(n int, pos uint) int { n |= (1Эта функция сдвигает число 1 влево на указанную позицию (pos) с помощью оператора
Очистка бита
Чтобы очистить бит бит в определенной позиции, вы можете использовать следующую функцию:
func clearBit(n int, pos uint) int { mask := ^(1Эта функция создает маску, инвертируя бит в целевой позиции с помощью оператора ^. В результирующей маске целевой бит фактически установлен на 0. Когда вы выполняете И (&) эту маску с исходным целым числом, целевой бит очищается, а другие биты остаются незатронутыми.
Проверка наличия бита is Set
Наконец, вы можете проверить, установлен ли бит, используя следующую функцию:
func hasBit(n int, pos uint) bool { val := n & (1 0 }Эта функция выполняет операцию И между целым числом и маской, для которой соответствующий бит установлен в 1. Если результат больше 0, это указывает на то, что целевой бит установлен, и функция возвращает true . В противном случае возвращается false.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3