📜  Golang 中的 bits.RotateLeft()函数示例

📅  最后修改于: 2021-10-24 13:36:14             🧑  作者: Mango

Go 语言提供了对位的内置支持,以在位包的帮助下为预先声明的无符号整数类型实现位计数和操作功能。这个包提供了RotateLeft()函数,该函数用于将左旋转 (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)
  
}

输出: