定义-奇偶校验是指1的计数。如果1的计数是偶数,则它是偶数。如果1的计数为奇数,则奇偶校验为奇数。
考虑n = 20(00010100)
给定数字20的奇偶校验是偶数。
解决这个问题的方法
步骤1-定义一个方法,其中n和是一个参数,返回类型为int。
步骤2-计算给定数字位中的1s计数。
package main import ( "fmt" "strconv" ) func FindParity(n int) bool { parity := false for n != 0 { if n & 1 != 0{ parity = !parity } n = n >> 1 } return parity } func main(){ n := 20 fmt.Printf("Binary of %d is: %s.\n", n, strconv.FormatInt(int64(n), 2)) if FindParity(n){ fmt.Printf("Parity of the %d is Odd.\n", n) } else { fmt.Printf("Parity of the %d is Even.\n", n) } }输出结果
Binary of 20 is: 10100. Parity of the 20 is Even.