找到 1082 篇文章 关于 Go 编程

Golang 程序:向上舍入到下一个 2 的幂。

Rishikesh Kumar Rishi
更新于 2021年3月18日 05:29:55

473 次浏览

示例例如,n = 12 => 下一个 2 的幂是 16。例如,n = 20 => 下一个 2 的幂是 32。解决此问题的方法步骤 1 - 定义一个接受数字 n 的方法。步骤 2 - 迭代 k := 1 直到 k < n。步骤 3 - 在循环中,计算 k

Golang 程序:使用二进制运算查找最小和最大数。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:39:20

181 次浏览

示例例如,x = 12,y = 15 => 最大数是 15。例如,x = 13,y = 17 => 最小数是 13。解决此问题的方法步骤 1 - 定义方法 findMax 和 findMin,它们接受两个整数 x 和 y。步骤 2 - 根据定义的方法返回整数。示例 在线演示package main import "fmt" func FindMax(x, y int){ fmt.Printf("Maximum element in %d, and %d is: %d", x, y, x - ((x - y) & ((x - y) >> 31))) } func FindMin(x, y int) { fmt.Printf("Minimum element in %d, and %d is: %d", x, y, y ... 阅读更多

Golang 程序:计算整数中设置的位数。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:38:50

2K+ 次浏览

示例例如,101、11、11011 和 1001001 设置的位数分别为 2、2、4 和 3。解决此问题的方法步骤 1 - 将数字转换为二进制表示形式。步骤 2 - 计数 1 的个数;返回计数。示例 在线演示package main import ( "fmt" "strconv" ) func NumOfSetBits(n int) int{ count := 0 for n !=0{ count += n &1 n >>= 1 } return count } func main(){ n := 20 fmt.Printf("Binary representation of %d is: %s.", n, strconv.FormatInt(int64(n), 2)) fmt.Printf("The total number of set bits in %d is %d.", n, NumOfSetBits(n)) }输出Binary representation of 20 is: 10100. The total number of set bits in 20 is 2.

Golang 程序:检查数字的二进制表示是否为回文。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:26:31

197 次浏览

示例例如,101、11、11011、1001001 是回文。100、10010 不是回文。解决此问题的方法步骤 1 - 将数字转换为二进制表示形式。步骤 2 - 从两侧遍历转换后的二进制表示形式,并检查表示形式是否为回文。示例 在线演示package main import ( "fmt" "strconv" ) func IsPalindrome(n int) bool{ rev := 0 k := n for k != 0 { rev = (rev > 1 } return n == rev } func main(){ n := 3 fmt.Printf("Binary representation of %d is: %s.", n, strconv.FormatInt(int64(n), 2)) if IsPalindrome(n) == true{ fmt.Println("Palindrome") } else { fmt.Println("Not a Palindrome") } }输出Binary representation of 3 is: 11. Palindrome

Golang 程序:计算将给定整数转换为另一个整数所需的翻转次数。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:20:53

102 次浏览

示例考虑两个数字 m = 65 => 01000001 和 n = 80 => 01010000翻转的位数为 2。解决此问题的方法步骤 1 - 将两个数字都转换为位。步骤 2 - 统计翻转的位数。示例 在线演示package main import ( "fmt" "strconv" ) func FindBits(x, y int) int{ n := x ^ y count := 0 for ;n!=0; count++{ n = n & (n-1) } return count } func main(){ x := 65 y := 80 fmt.Printf("Binary of %d is: %s.", x, strconv.FormatInt(int64(x), 2)) ... 阅读更多

Golang 程序:使用二进制运算符将大写字符转换为小写字符。

Rishikesh Kumar Rishi
更新于 2022年4月4日 09:21:37

818 次浏览

在 Golang 中,我们可以使用二进制运算符 "&" (AND) 和 "|" (OR) 将字符串从小写转换为大写,反之亦然。让我们来看一个简单的例子,了解如何在 Golang 中使用这些二进制运算符。 示例package main import "fmt" func main(){ fmt.Printf("Lowercase characters using OR operator: ") for ch:='A'; ch

Golang 程序:查找给定数字的奇偶校验。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:17:40

759 次浏览

定义 - 奇偶校验指的是 1 的个数。如果 1 的个数为偶数,则为偶校验;如果 1 的个数为奇数,则奇偶校验为奇数。示例考虑 n = 20(00010100)给定数字 20 的奇偶校验为偶数。解决此问题的方法步骤 1 - 定义一个方法,其中 n 是参数,返回类型为 int。步骤 2 - 计算给定数字位中 1 的个数。示例 在线演示package main import ( "fmt" "strconv" ) func FindParity(n int) bool { parity := false for n != 0 { ... 阅读更多

Golang 程序:查找最右边的设置位的位置

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:11:57

263 次浏览

示例考虑 n = 20(00010100)现在返回 log2(20 & -20) => 2+1 => 3解决此问题的方法步骤 1 - 定义一个方法,其中 n 是参数,返回类型为 int。步骤 2 - 返回 log2(n & -n)+1。示例package main import ( "fmt" "math" "strconv" ) func FindRightMostSetBit(n int) int { if (n & 1) != 0{ return 1 } return int(math.Log2(float64(n & -n))) + 1 } func main(){ var n = 20 fmt.Printf("Binary of %d is: %s.", n, strconv.FormatInt(int64(n), 2)) fmt.Printf("Position of the rightmost set bit of the given number %d is %d.", n, FindRightMostSetBit(n)) }输出Binary of 20 is: 10100. Position of the rightmost set bit of the given number 20 is 3.

Golang 程序:检查给定的正数是否为 2 的幂,不使用任何分支或循环

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:06:52

584 次浏览

示例考虑 n = 16(00010000)现在找到 x = n-1 => 15(00001111) => x & n => 0解决此问题的方法步骤 1 - 定义一个方法,其中 n 是参数,返回类型为 int。步骤 2 - 执行 x = n & n-1。步骤 3 - 如果 x 为 0,则给定数字为 2 的幂;否则不是。示例 在线演示package main import ( "fmt" "strconv" ) func CheckNumberPowerOfTwo(n int) int { return n & (n-1) } func main(){ var n = 16 fmt.Printf("Binary of %d is: %s.", n, strconv.FormatInt(int64(n), 2)) flag := CheckNumberPowerOfTwo(n) ... 阅读更多

Golang 程序:切换给定数字 n 的第 k 位。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:01:23

123 次浏览

示例考虑 n = 20(00010100),k = 3。切换给定数字的第 k 位后:00010000 => 16。解决此问题的方法步骤 1 - 定义一个方法,其中 n 和 k 将作为参数,返回类型为 int。步骤 2 - 对 n ^ (1

广告