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
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
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