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

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

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

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,894 questions

51,825 answers

573 users

How to count the trailing zeros in a binary number using Go

2 Answers

0 votes
package main

import (
    "fmt"
    "strconv"
    "strings"
)

func countTrailingZeros(n int) int {
    binaryStr := strconv.FormatInt(int64(n), 2)         // Convert to binary string
    trimmedStr := strings.TrimRight(binaryStr, "0")     // Remove trailing zeros
    
    return len(binaryStr) - len(trimmedStr)
}

func main() {
    number := 80 // binary: 1010000
    
    trailingZeros := countTrailingZeros(number)
    
    fmt.Printf("Number of Trailing Zeros: %d\n", trailingZeros)
}




/*
run:

Number of Trailing Zeros: 4

*/

 



answered Jul 23, 2025 by avibootz
0 votes
package main

import (
    "fmt"
)

func countTrailingZeros(n int) int {
	if n == 0 {
		return 0 // Special case: 0 has no trailing 1s, so return 0
	}

	count := 0
	for (n & 1) == 0 { // Check if the least significant bit is 0
		count++
		n >>= 1 // Right shift the number by 1
	}
	
	return count
}

func main() {
	num := 80 // binary: 1010000
	
	fmt.Printf("Number of trailing zeros in %d: %d\n", num, countTrailingZeros(num))
}




/*
run:

Number of trailing zeros in 80: 4

*/

 



answered Jul 23, 2025 by avibootz
...