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

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

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,641 questions

55,376 answers

573 users

How to reverse the bits of a number in Scala

1 Answer

0 votes
object BitReverse {

  def reverseBits(n: Int): Int = {
    val bin = String.format("%32s", Integer.toBinaryString(n)).replace(' ', '0')
    val rev = bin.reverse

    Integer.parseUnsignedInt(rev, 2)
  }

  def bits(n: Int): String = {
    val bin = String.format("%32s", Integer.toBinaryString(n)).replace(' ', '0')

    bin.grouped(8).mkString(" ")
  }

  def main(args: Array[String]): Unit = {
    val a = 19
    val b = 3

    val ra = reverseBits(a)
    val rb = reverseBits(b)

    println(s"Original 19: ${bits(a)}")
    println(s"Reversed 19: ${bits(ra)}")
    println()
    println(s"Original 3:  ${bits(b)}")
    println(s"Reversed 3:  ${bits(rb)}")
  }
}


/*
run:

Original 19: 00000000 00000000 00000000 00010011
Reversed 19: 11001000 00000000 00000000 00000000

Original 3:  00000000 00000000 00000000 00000011
Reversed 3:  11000000 00000000 00000000 00000000

*/

 



answered Apr 4 by avibootz
edited Apr 4 by avibootz
...