Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Create your online store today with Shopify

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Disclosure: My content contains affiliate links.

43,566 questions

56,784 answers

573 users

How to set specific bits and find the set bits indexes in Go

1 Answer

0 votes
package main

import (
    "fmt"
    "strconv"
)

const bitSize = 16

// Print binary representation of the bits
func printBinary(bits uint16) {
    binary := strconv.FormatUint(uint64(bits), 2)
    fmt.Println(fmt.Sprintf("%0*s", bitSize, binary))
}

// Find the first set bit (least significant)
func findFirstSetBit(bits uint16) int {
    for i := 0; i < bitSize; i++ {
        if bits & (1 << i) != 0 {
            return i
        }
    }
    return -1 // No bits set
}

func printSetBitIndexes(bits uint16) {
    for i := 0; i < bitSize; i++ {
        if bits & (1 << i) != 0 {
            fmt.Printf("%d ", i)
        }
    }
    fmt.Println()
}

func main() {
    var bits uint16 = 0
    
    bits |= 1 << 3
    bits |= 1 << 5
    bits |= 1 << 11
    bits |= 1 << 14

    printBinary(bits)
    fmt.Println("First set bit at index:", findFirstSetBit(bits))
    
    fmt.Println("All the set bits indexes:")
    printSetBitIndexes(bits)
}

 

/*
run:

0100100000101000
First set bit at index: 3
All the set bits indexes:
3 5 11 14 

*/

 



answered Nov 3, 2025 by avibootz
...