JSFiddle - React, Tailwind, and code Playground
by AlexGun
JavaScript
function changeNumberSystem(num,toSystem, fromSystem) {
let result = 0
let start = searchNearestAnotherNumberSystem(num,fromSystem)
console.log(start)
let str = ''
do {
let degreeStart = Math.pow(fromSystem,start)
console.log(degreeStart)
let helper = Math.floor(num / degreeStart)
str += `${helper} * ${fromSystem}^${start} + `
//result *= fromSystem
result += helper * Math.pow(toSystem,start)
num = num % degreeStart
start--
}
while (num !== 0) {
}
return {
result,
str
}
}
function searchNearestBinarNum(num) {
let start = 0
while(num/2 >= Math.pow(2,start)) {
start++
}
return start
}
function translateBinToDecilmal(numBin) {
let strBin = numBin + ''
let start = searchNearestAnotherNumberSystem(numBin,10)
return strBin.split('').map((num,index) => +num * Math.pow(2,(start-index))).reduce((acc,sum) => acc + sum)
}
function searchNearestAnotherNumberSystem(num,numberSystem) {
let start = 0
while (num / numberSystem>= Math.pow(numberSystem,start)) {
start++
}
return start
}
let a = changeNumberSystem(100,2,8)
//let b = translateBinToDecilmal(11001)
//let c = searchNearestAnotherNumberSystem(101,2)
console.log(a)
/* console.log(b)
console.log(c) */