DEV Community

Moch. Lutfi
Moch. Lutfi

Posted on • Originally published at lumochift.org on

Binary Operator Hack and Tricks

A binary operator is a way to manipulate binary data. We already know there are &, |, ^, << and >> operators, but not all of us know the secret of each operator. Let's explore what tricks behind those operators using go language.

Multiply or Divide By 2

Multiply 2 using * 2 or divide using / 2 is the normal way, but how we can achieve the same with the binary operator?

divide by 2 shift right by 1 someNumber >> 1
multiply by 2 shift left by 1 someNumber << 1
    // multiply by 2
    fmt.Println(4 << 1)
    // Output: 8

    // divide by 2
    fmt.Println(4 >> 1)
    // Output: 2

Change case of character


    // to upper case char
    fmt.Println((string)('c' & '_'))
    // Output: C

    // to lower case char
    fmt.Println(string('A' | ' '))
    // Output: a

Invert case of character

Invert char can be achieved by xor with space

    fmt.Println(string('A' ^ ' '), string('b' ^ ' '))
    // Output: a B

Get letter position

Get a letter's position in the alphabet (1-26) using and with 31

    fmt.Println('z' & 31)
    // Output: 26

Check number odd or even

Simple check if the number is odd/even using and with 1, if the number is odd will return true

    // odd number return true
    fmt.Println(7 & 1 > 0)
    // Output: true

    // even number return false
    fmt.Println(8 & 1 > 0)
    // Output: false

Try it yourself at https://play.golang.org/p/-wsIlDgBTmF

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs