Hi,
momentan verzeifel ich an einer, eigentlich trivalen, Aufgabe.
Ich möchte eine DezimalZahl in eine Zahl mit einer beliebigen Basis umrechen.
Jede Stelle der neuen Zahl soll ein Feld in einem Array belegen.
Hat vielleicht jemand nen Tip wo mein Fehler liegt ?
Mein <EDIT>funktionierender</EDIT> Beispielcode:
BTW: Ja ich weiß das ich hier eigentlich im falschen Forum bin, allerdings ist mein Problem imo von der Sprache losgelöst.
Vielen Dank im Vorraus
momentan verzeifel ich an einer, eigentlich trivalen, Aufgabe.
Ich möchte eine DezimalZahl in eine Zahl mit einer beliebigen Basis umrechen.
Jede Stelle der neuen Zahl soll ein Feld in einem Array belegen.
Hat vielleicht jemand nen Tip wo mein Fehler liegt ?
Mein <EDIT>funktionierender</EDIT> Beispielcode:
Code:
<html>
<head>
</head>
<body onload="init();">
<div id="output"></div>
<script type="text/javascript">
function init(){
var tmp;
lastStart = 0;
while(lastStart < 1000){
tmp = calcNr(lastStart, 16);
lastStart++;
}
}
function log(base, val){
if(val==0)return 0;
return Math.log(val)/Math.log(base);
}
function calcNr(nr, base){
var i = 0;
var size = Math.floor(log(base, nr)) + 1;
var arr = new Array(size);
for(i=0;i<arr.length;arr[i]=0,++i);
var left = nr;
for(i=0; i<arr.length && left > 0; i++){
var ba = Math.pow(base, arr.length-i-1);
var ba2 = Math.floor(left/ba);
arr[i] = ba2;
left = left % ba;
}
document.getElementById('output').innerHTML += "nr: " + nr + " / length: " + size + " / arr: " + arr + "<br/>";
return arr;
}
</script>
</body>
</html>
BTW: Ja ich weiß das ich hier eigentlich im falschen Forum bin, allerdings ist mein Problem imo von der Sprache losgelöst.
Vielen Dank im Vorraus