位。Golang 中的 RotateLeft8()函数及示例

原文:https://www . geesforgeks . org/bits-rotateleft8-function-in-golang-with-examples/

Go 语言在 bits 包的帮助下,为 bits 提供内置支持,以实现预声明的无符号整数类型的位计数和操作功能。这个包提供了 RotateLeft8()函数,用来将左边旋转(k mod 8)位,将右边旋转 k 位,你需要调用 RotateLeft8(a,-k)。要访问 RotateLeft8()函数,您需要在 import 关键字的帮助下在程序中添加一个数学/位包。

语法:

func RotateLeft8(a uint8, k int) uint8

参数:该函数取两个参数,即 uint8 类型的 a 和 int 类型的 k。

返回值:该函数返回 uint8 类型的旋转(左或右)值。

例 1:

// Golang program to illustrate bits.RotateLeft8() Function
package main

import (
    "fmt"
    "math/bits"
)

// Main function
func main() {

    // Using RotateLeft8() function
    var a uint8 = 6
    b := bits.RotateLeft8(a, 1)
    fmt.Printf("Original: %b", a)
    fmt.Printf("\nAfter Rotation(Left): %b", b)

}

输出:

Original: 110
After Rotation(Left): 1100

例 2:

// Golang program to illustrate bits.RotateLeft8() Function
package main

import (
    "fmt"
    "math/bits"
)

// Main function
func main() {

    // Using RotateLeft8() function
    var a uint8 = 5
    b := bits.RotateLeft8(a, -1)
    fmt.Printf("Original: %b", a)
    fmt.Printf("\nAfter Rotation(Right): %b", b)

}

输出:

Original: 101
After Rotation(Right): 10000010