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) */