>  기사  >  백엔드 개발  >  Go에서 개별 비트를 설정, 지우기 및 확인하는 방법은 무엇입니까?

Go에서 개별 비트를 설정, 지우기 및 확인하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-11 10:21:03634검색

How to Set, Clear, and Check Individual Bits in Go?

Go에서의 비트 조작: 개별 비트 설정 및 지우기

컴퓨터 시스템에서 기본 데이터 표현을 사용할 때 비트 조작은 필수적입니다. Go에서는 정수의 개별 비트를 조작하여 특정 결과를 얻을 수 있습니다. Go에서 비트를 설정하고 지우는 방법은 다음과 같습니다.

비트 설정

pos 위치에 정수 n의 비트를 설정하려면 다음 함수를 사용하세요.

// Sets the bit at pos in the integer n.
func setBit(n int, pos uint) int {
    // Shift 1 the specified number of spaces.
    bit := 1 << pos
    // OR the resulting bit mask with n.
    return n | bit
}

비트 지우기

n의 pos 위치에서 비트를 지우려면 다음 기능을 사용하세요.

// Clears the bit at pos in n.
func clearBit(n int, pos uint) int {
    // Shift 1 the specified number of spaces.
    bit := 1 << pos
    // Flip every bit in the mask using XOR operator.
    mask := ^bit
    // AND mask with n to unset the target bit.
    return n & mask
}

확인 중 비트가 설정된 경우

이 기능을 사용하면 비트가 특정 위치에 설정되어 있는지 확인할 수도 있습니다.

func hasBit(n int, pos uint) bool {
    // Shift 1 the specified number of spaces.
    bit := 1 << pos
    // AND the resulting bit mask with n.
    val := n & bit
    // Return true if val is greater than 0.
    return (val > 0)
}

이러한 기능을 사용하면 정확한 비트 조작을 수행할 수 있습니다. Go 프로그램에서.

위 내용은 Go에서 개별 비트를 설정, 지우기 및 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.