Go中无符号整数的二进制表示

Go中无符号整数的二进制表示,go,bit-manipulation,Go,Bit Manipulation,是否有内置函数将uint转换为二进制整数片{0,1} >> convert_to_binary(2) [1, 0] 我不知道有这样一个函数,但是您可以为此使用strconv.FormatUint 示例(): FormatUint会将给定的uint的字符串表示形式返回到一个基,在本例中为2,因此我们用二进制编码。因此,i=2的返回字符串如下所示:“10”。在字节中,这是[49 48],因为在ASCII和Unicode中,1是49,0是48。所以我们只需要迭代字符串,从每个符文(uni

是否有内置函数将
uint
转换为二进制整数片
{0,1}

>> convert_to_binary(2)
[1, 0]

我不知道有这样一个函数,但是您可以为此使用
strconv.FormatUint

示例():

FormatUint
会将给定的
uint
的字符串表示形式返回到一个基,在本例中为2,因此我们用二进制编码。因此,
i=2
的返回字符串如下所示:
“10”
。在字节中,这是
[49 48]
,因为在ASCII和Unicode中,1是49,0是48。所以我们只需要迭代字符串,从每个符文(unicode字符)中减去48,然后将其转换为一个字节

func Bits(i uint64) []byte {
    bits := []byte{}

    for _, b := range strconv.FormatUint(i, 2) {
         bits = append(bits, byte(b - rune('0')))
    }

    return bits
}