Golang bits.RotateLeft() 函数及其示例
Go 语言提供了内置的 bits 包,通过它可以实现预定义的无符号整型的位计算和操作函数。该包提供了 RotateLeft() 函数 ,用于将 a 左旋转 (k mod UintSize) 位,要将其右旋转 k 位,则需要调用 RotateLeft(a, -k)。要使用 RotateLeft() 函数,您需要在程序中使用 import 关键字添加 math/bits 包。
语法:
func RotateLeft(a uint, k int) uint
参数: 该函数接受两个参数,即 uint 类型的 a 和 int 类型的 k。
返回值: 该函数返回 uint 类型的旋转值(左或右)。
示例1:
// Golang program to illustrate bits.RotateLeft() Function
package main
import (
"fmt"
"math/bits"
)
// Main function
func main() {
// Using RotateLeft() function
var a uint = 5
b := bits.RotateLeft(a, 1)
fmt.Printf("Original: %b", a)
fmt.Printf("\nAfter Rotation(Left): %b", b)
}
输出:
Original: 101
After Rotation(Left): 1010
示例2:
// Golang program to illustrate bits.RotateLeft() Function
package main
import (
"fmt"
"math/bits"
)
// Main function
func main() {
// Using RotateLeft() function
var a uint = 5
b := bits.RotateLeft(a, -1)
fmt.Printf("Original: %b", a)
fmt.Printf("\nAfter Rotation(Right): %b", b)
}
输出:
Original: 101
After Rotation(Right): 1000000000000000000000000000000000000000000000000000000000000010
极客教程