Bitwise Operators in Go Programming Language
Bitwise operators are used to compare (binary) numbers.
Operator | Name | Description |
---|---|---|
& | AND | Sets each bit to 1 if both bits are 1 |
| | OR | Sets each bit to 1 if one of two bits is 1 |
^ | XOR | Sets each bit to 1 if only one of two bits is 1 |
<< | Zero fill left shift | Shift left by pushing zeros in from the right and let the leftmost bits fall off |
>> | Signed right shift | Shift right by pushing copies of the leftmost bit in from the left, and let the rightmost bits fall off |
The following example will show you these bitwise operators in action:
Example
package main
import "fmt"
func main() {
var x uint = 9 //0000 1001
var y uint = 65 //0100 0001
var z uint
z = x & y
fmt.Println("x & y =", z)
z = x | y
fmt.Println("x | y =", z)
z = x ^ y
fmt.Println("x ^ y =", z)
z = x << 1
fmt.Println("x << 1 =", z)
z = x >> 1
fmt.Println("x >> 1 =", z)
}
Output
x & y = 1
x | y = 73
x ^ y = 72
x << 1 = 18
x >> 1 = 4
Most Helpful This Week
Higher Order Functions in Golang
Simple function with parameters in Golang
Anonymous Functions in Golang
Golang Functions Returning Multiple Values
Creating a Function in Golang
Simple function with return value in Golang
Closures Functions in Golang
The return values of a function can be named in Golang
Golang Passing Address to a Function
What is Function in Golang
Naming Conventions for Golang Functions