Skip to content

Instantly share code, notes, and snippets.

@pchrysa
Created August 8, 2017 17:16
Show Gist options
  • Save pchrysa/e818485051a01c2ad0ab995d2f99c7c3 to your computer and use it in GitHub Desktop.
Save pchrysa/e818485051a01c2ad0ab995d2f99c7c3 to your computer and use it in GitHub Desktop.
Convert Decimal to Binary and Vice Versa in Kotlin
package com.thecodevs.Converter
import com.thecodevs.Math.*
fun toDecimal(binaryNumber : String) : Int {
var sum = 0
binaryNumber.reversed().forEachIndexed {
k, v -> sum += v.toString().toInt() * pow(2, k)
}
return sum
}
fun toBinary(decimalNumber: Int, binaryString: String = "") : String {
while (decimalNumber > 0) {
val temp = "${binaryString}${decimalNumber%2}"
return toBinary(decimalNumber/2, temp)
}
return binaryString.reversed()
}
import com.thecodevs.Converter.*
fun main(args: Array<String>) {
println(toDecimal("10011011"))
println(toBinary(155))
}
package com.thecodevs.Math
import java.lang.Math
fun pow(base: Int, exponent: Int) = Math.pow(base.toDouble(), exponent.toDouble()).toInt()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment