Golang 使用库函数获得给定数字所需的总位数
在本文中,我们将讨论如何使用Go语言中的库函数获取给定数字所需的总位数。
为了获取任何数字的总位数,我们需要将该数字表示为由零和一组成的二进制数,然后计算零和一的数量。
例如:16可以转换为二进制数10000,因此数字16的位数为5。
65可以转换为二进制数1000001,因此数字65的位数为7。
语法
函数 –
func function_name([parameters]) [return_types]
{
// Body of the function
}
作为while循环的for循环 –
for condition {
// code to be executed
// increment or decrement the count variable.
}
使用库函数找出给定数字所需的总位数
步骤
- 步骤 1 - 导入 fmt 和 bits 包。
-
步骤 2 - 初始化和定义 getBits() 函数,用于实现逻辑。
-
步骤 3 - 启动 main() 函数。
-
步骤 4 - 初始化 unsigned int 数据类型的变量并赋值。
-
步骤 5 - 调用 getBits() 函数。
-
步骤 6 - 将结果存储在一个变量中。
-
步骤 7 - 在屏幕上打印结果。
示例
使用库函数获取给定数字所需的总位数的 Golang 程序。
package main
import (
"fmt"
"math/bits"
)
// fmt package allows us to print anything on the screen.
// bits package allows to perform bitwise operations to unsigned integer values like counting number of bits.
func getBits(number uint) int {
// getting the binary representation of the above chosen value
fmt.Printf("Binary representation of %d is: %b\n", number, number)
// initializing a variable to store the results
var result int
// getting the number of bits in the result variable
result = bits.Len(number)
// returning back the number of bits
return result
}
func main() {
// initializing a variable of unsigned integer data type
var number uint
// assigning value to the above initialized variable whose bits we wish to calculate
number = 65
// calling the getBits() function and passing the number to it as the argument and getting back the result.
result := getBits(number)
// printing the number of bits of the chosen integer value
fmt.Printf("Total number of bits in %d are : %d\n", number, result)
}
输出
Binary representation of 65 is: 1000001
Total number of bits in 65 are : 7
代码描述
- 首先,我们引入fmt包,使我们能够打印任何内容,并且引入bits包,使我们能够使用位运算。
-
然后,我们创建并定义了getBits()函数,该函数计算位的总数并返回结果。
-
然后,我们开始main()函数。
-
初始化和定义unsigned int变量,并给它赋值。这是我们希望计算位数的数字。
-
调用getBits()函数,并将这个数字作为参数传递给它。
-
getBits()函数接收一个无符号整数值,并以整数格式返回结果。
-
我们可以打印所选择值的二进制格式,并使用内置的bits.Len()函数来获取构成数字的总位数。
-
将结果存储在一个单独的变量中,并返回该值。
-
将函数返回的值存储在main()中。
-
使用fmt.Printf()函数在屏幕上打印结果。
结论
我们已成功编译并执行了Go语言程序,以获取给定程序所需的位总数,并使用库函数进行示例。