Documentation ¶
Overview ¶
Package bits implements bit counting and manipulation functions for the predeclared unsigned integer types.
Index ¶
- Constants
- func LeadingZeros(x uint) int
- func LeadingZeros16(x uint16) int
- func LeadingZeros32(x uint32) int
- func LeadingZeros64(x uint64) int
- func LeadingZeros8(x uint8) int
- func Len(x uint) int
- func Len16(x uint16) (n int)
- func Len32(x uint32) (n int)
- func Len64(x uint64) (n int)
- func Len8(x uint8) int
- func OnesCount(x uint) int
- func OnesCount16(x uint16) int
- func OnesCount32(x uint32) int
- func OnesCount64(x uint64) int
- func OnesCount8(x uint8) int
- func Reverse(x uint) uint
- func Reverse16(x uint16) uint16
- func Reverse32(x uint32) uint32
- func Reverse64(x uint64) uint64
- func Reverse8(x uint8) uint8
- func ReverseBytes(x uint) uint
- func ReverseBytes16(x uint16) uint16
- func ReverseBytes32(x uint32) uint32
- func ReverseBytes64(x uint64) uint64
- func RotateLeft(x uint, k int) uint
- func RotateLeft16(x uint16, k int) uint16
- func RotateLeft32(x uint32, k int) uint32
- func RotateLeft64(x uint64, k int) uint64
- func RotateLeft8(x uint8, k int) uint8
- func TrailingZeros(x uint) int
- func TrailingZeros16(x uint16) (n int)
- func TrailingZeros32(x uint32) int
- func TrailingZeros64(x uint64) int
- func TrailingZeros8(x uint8) int
Examples ¶
Constants ¶
const UintSize = uintSize
UintSize is the size of a uint in bits.
Variables ¶
This section is empty.
Functions ¶
func LeadingZeros ¶
LeadingZeros returns the number of leading zero bits in x; the result is UintSize for x == 0.
func LeadingZeros16 ¶
LeadingZeros16 returns the number of leading zero bits in x; the result is 16 for x == 0.
Example ¶
package main import ( "fmt" "math/bits" ) func main() { fmt.Println(bits.LeadingZeros16(0)) fmt.Println(bits.LeadingZeros16(1)) fmt.Println(bits.LeadingZeros16(256)) fmt.Println(bits.LeadingZeros16(65535)) }
Output: 16 15 7 0
func LeadingZeros32 ¶
LeadingZeros32 returns the number of leading zero bits in x; the result is 32 for x == 0.
Example ¶
package main import ( "fmt" "math/bits" ) func main() { fmt.Println(bits.LeadingZeros32(0)) fmt.Println(bits.LeadingZeros32(1)) }
Output: 32 31
func LeadingZeros64 ¶
LeadingZeros64 returns the number of leading zero bits in x; the result is 64 for x == 0.
Example ¶
package main import ( "fmt" "math/bits" ) func main() { fmt.Println(bits.LeadingZeros64(0)) fmt.Println(bits.LeadingZeros64(1)) }
Output: 64 63
func LeadingZeros8 ¶
LeadingZeros8 returns the number of leading zero bits in x; the result is 8 for x == 0.
func Len ¶
Len returns the minimum number of bits required to represent x; the result is 0 for x == 0.
func Len16 ¶
Len16 returns the minimum number of bits required to represent x; the result is 0 for x == 0.
func Len32 ¶
Len32 returns the minimum number of bits required to represent x; the result is 0 for x == 0.
func Len64 ¶
Len64 returns the minimum number of bits required to represent x; the result is 0 for x == 0.
func Len8 ¶
Len8 returns the minimum number of bits required to represent x; the result is 0 for x == 0.
func OnesCount ¶
OnesCount returns the number of one bits ("population count") in x.
Example ¶
package main import ( "fmt" "math/bits" ) func main() { fmt.Printf("%b\n", 14) fmt.Println(bits.OnesCount(14)) }
Output: 1110 3
func OnesCount16 ¶
OnesCount16 returns the number of one bits ("population count") in x.
Example ¶
package main import ( "fmt" "math/bits" ) func main() { fmt.Printf("%b\n", 14) fmt.Println(bits.OnesCount16(14)) }
Output: 1110 3
func OnesCount32 ¶
OnesCount32 returns the number of one bits ("population count") in x.
Example ¶
package main import ( "fmt" "math/bits" ) func main() { fmt.Printf("%b\n", 14) fmt.Println(bits.OnesCount32(14)) }
Output: 1110 3
func OnesCount64 ¶
OnesCount64 returns the number of one bits ("population count") in x.
Example ¶
package main import ( "fmt" "math/bits" ) func main() { fmt.Printf("%b\n", 14) fmt.Println(bits.OnesCount64(14)) }
Output: 1110 3
func OnesCount8 ¶
OnesCount8 returns the number of one bits ("population count") in x.
Example ¶
package main import ( "fmt" "math/bits" ) func main() { fmt.Printf("%b\n", 14) fmt.Println(bits.OnesCount8(14)) }
Output: 1110 3
func ReverseBytes ¶
ReverseBytes returns the value of x with its bytes in reversed order.
func ReverseBytes16 ¶
ReverseBytes16 returns the value of x with its bytes in reversed order.
func ReverseBytes32 ¶
ReverseBytes32 returns the value of x with its bytes in reversed order.
func ReverseBytes64 ¶
ReverseBytes64 returns the value of x with its bytes in reversed order.
func RotateLeft ¶
RotateLeft returns the value of x rotated left by (k mod UintSize) bits. To rotate x right by k bits, call RotateLeft(x, -k).
func RotateLeft16 ¶
RotateLeft16 returns the value of x rotated left by (k mod 16) bits. To rotate x right by k bits, call RotateLeft16(x, -k).
func RotateLeft32 ¶
RotateLeft32 returns the value of x rotated left by (k mod 32) bits. To rotate x right by k bits, call RotateLeft32(x, -k).
func RotateLeft64 ¶
RotateLeft64 returns the value of x rotated left by (k mod 64) bits. To rotate x right by k bits, call RotateLeft64(x, -k).
func RotateLeft8 ¶
RotateLeft8 returns the value of x rotated left by (k mod 8) bits. To rotate x right by k bits, call RotateLeft8(x, -k).
func TrailingZeros ¶
TrailingZeros returns the number of trailing zero bits in x; the result is UintSize for x == 0.
func TrailingZeros16 ¶
TrailingZeros16 returns the number of trailing zero bits in x; the result is 16 for x == 0.
func TrailingZeros32 ¶
TrailingZeros32 returns the number of trailing zero bits in x; the result is 32 for x == 0.
func TrailingZeros64 ¶
TrailingZeros64 returns the number of trailing zero bits in x; the result is 64 for x == 0.
func TrailingZeros8 ¶
TrailingZeros8 returns the number of trailing zero bits in x; the result is 8 for x == 0.
Types ¶
This section is empty.