Go 语言提供了对位的内置支持,以在位包的帮助下为预先声明的无符号整数类型实现位计数和操作功能。该包提供了Len64()函数,用于查找表示 a 所需的最小位数,结果为 0 表示 a == 0。要访问 Len64()函数,您需要在程序中添加 math/bits 包在 import 关键字的帮助下。
句法:
func Len64(a uint64) (n int)
参数:该函数接受一个 uint64 类型的参数,即 a。
返回值:此函数返回表示 a 所需的最小位数。
示例 1:
// Golang program to illustrate bits.Len64() Function
package main
import (
"fmt"
"math/bits"
)
// Main function
func main() {
// Using Len64() function
a := bits.Len64(1)
fmt.Printf("The minimum number of bits"+
" required to represent %d: %d", 1, a)
}
输出:
The minimum number of bits required to represent 1: 1
示例 2:
// Golang program to illustrate bits.Len64() Function
package main
import (
"fmt"
"math/bits"
)
// Main function
func main() {
// Using Len64() function
a1 := bits.Len64(5)
fmt.Printf("Len64(%064b) = %d\n", 5, a1)
a2 := bits.Len64(12)
fmt.Printf("Len64(%064b) = %d\n", 12, a2)
}
输出:
Len64(0000000000000000000000000000000000000000000000000000000000000101) = 3
Len64(0000000000000000000000000000000000000000000000000000000000001100) = 4