1

uintaをバイナリ整数のスライスに変換する組み込み関数はあります{0,1}か?

>> convert_to_binary(2)
[1, 0]
4

2 に答える 2

2

そのような機能は知りませんがstrconv.FormatUint、その目的で使用できます。

例 (プレイ中):

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

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

    return bits
}

FormatUintuint指定されたの文字列表現を基数 (この場合は 2) に返すため、バイナリでエンコードしています。したがって、返される文字列はi=2次のようになります"10"[49 48]ASCII および Unicode では、1 は 49、0 は 48 をバイト単位で表します。そのため、各ルーン文字 (Unicode 文字) から 48 を減算し、それをバイトに変換して、文字列を繰り返し処理する必要があります。

于 2013-10-23T23:42:18.097 に答える