Dezimalzahlen in Hexadezimal und Binär umrechnen
Mario
- javascript
Hallo,
wie kann ich Dezimalzahlen in Hexadezimal und Binär umrechnen mittels Javascript brauche eine einfache variante.
Gruss
wie kann ich Dezimalzahlen in Hexadezimal und Binär umrechnen mittels Javascript brauche eine einfache variante.
Das hättest du schneller haben können: javascript hex -> erstes Ergebnis
var i = 15;
i.toString(16); // Ausgabe "f"
i.toString(2); // Ausgabe "1111"
wie kann man das mit anderen zahlen umrechnen lassen?
Gruss
wie kann man das mit anderen zahlen umrechnen lassen?
Falls du in
var i = 15;
i.toString(16); // Ausgabe "f"
i.toString(2); // Ausgabe "1111"
nicht einmal eine andere Zahl einsetzen kannst, solltest du als Erstes Programmieren lernen. Sprache ist egal.
Falls dir ein HTML-Formular vorschwebt, suche hier in der Anleitung nach HTML-Formularen sowie im Javascript-Kapitel, wie Formulare aus Javascript heraus abgefragt werden können.
doch mit prompt gebe ich eine zahl ein aber genau die gibt er mir dann raus
Hallo,
doch mit prompt gebe ich eine zahl ein aber genau die gibt er mir dann raus
Ja, weil dir prompt() einen String zurückgibt.
toString() von einem String gibt den String unverändert zurück. Zahlen (Typ Number) haben auch eine toString-Methode, nur diese ermöglicht eine Zahlensystem-Umwandlung. Der String muss also in eine Zahl umgewandelt werden.
Das Umwandeln in einen Number-Wert geht z.B. mit der Number(…)-Funktion:
var input = prompt('…');
input = Number(input);
alert(input.toString(16));
Mathias
gibt es schon bereits fertige scripte?
Gruss
Om nah hoo pez nyeetz, Mario!
gibt es schon bereits fertige scripte?
Mit Sicherheit, hier allerdings nur ganz selten.
Matthias
Hier ist in PHP ein Ansatz für etwas mehr als das, was Du in Javascript suchst (Du musst es nur umschreiben...):
<?php
function getBigNumArray() {
# Das Zahlensystem besteht aus den Elementen ...
return array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
# test hexadezimal: return array ('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
# test oktal: return array ('0','1','2','3','4','5','6','7','8');
# test dual: return array('0','L');
}
function getBigNumHash() {
# kehrt den Array um. Es entsteht ein "hash"
$ar=getBigNumArray();
$i=0;
foreach ($ar as $element) {
$hash[$element]=$i++;
}
return $hash;
}
function getNumberFromString($str) {
# gibt die dezimale Entsprechung der Zahl aus dem beliebigen Zahlensystem zurück
$hash=getBigNumHash();
$number=0;
$length=strlen($str);
for ($i=$length; $i>0; $i-- ) {
$inv=$length-($i);
$char=$str{($i-1)};
if ($hash[$char] != 0) {
$add=pow(count($hash),$inv)*($hash[$char]);
} else {
$add=0;
}
$number=$number+$add;
}
return $number;
}
function getStringFromNumber($int) {
# gibt die Zahl als eine aus dem beliebigen Zahlensystem zurück
$ar=getBigNumArray();
$length=count($ar);
$str='';
$positions=0;
while ( pow($length, ($positions)) <= $int) {
$positions++;
}
for ($i=$positions; $i>0; $i--) {
$potenz = pow($length, $i-1);
$pos = floor($int/$potenz);
$int = $int % $potenz;
$str = $str . $ar[$pos];
}
return $str;
}
Jörg Reinholz