Float/Double-Umrechnung als Website
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Float/Double-Umrechnung als Website
Hi,
Ich brauche zurzeit häufiger ein Tool, dass Floats und Doubles in ihre Binärdarstellung und diese wiederum in ihre Integerdarstellung umrechnet. Nun überlegte ich mir ein Tool dafür zu schreiben, dachte dann aber daran, dass es ja ganz praktisch wäre, wenn es dafür eine Website bei uns gäbe.
Bisher habe ich nur ein Java-Tool gefunden, dass das für Floats macht.
Das wiederum wäre für manche natürlich eine hübsche Übung.
Hat jemand Interesse, sich daran zu versuchen?
Ich brauche zurzeit häufiger ein Tool, dass Floats und Doubles in ihre Binärdarstellung und diese wiederum in ihre Integerdarstellung umrechnet. Nun überlegte ich mir ein Tool dafür zu schreiben, dachte dann aber daran, dass es ja ganz praktisch wäre, wenn es dafür eine Website bei uns gäbe.
Bisher habe ich nur ein Java-Tool gefunden, dass das für Floats macht.
Das wiederum wäre für manche natürlich eine hübsche Übung.
Hat jemand Interesse, sich daran zu versuchen?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Float/Double-Umrechnung als Website
Du willst eine Kommazahl eingeben und dir die binärdarstellung ankucken, sowie diese binärzahl als integer ausgeben lassen? Sollte an und für sich kein Problem darstellen (ich weiß, dass hex geht - und zwar ohne Probleme), PHP bringt sicher die ein oder andere nützliche Fkt. mit.
PS: ich gebe das Projekt an die anderen weiter.
PS: ich gebe das Projekt an die anderen weiter.

.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Float/Double-Umrechnung als Website
Ich will Doubles eingeben können als Bitmuster (32 bzw. 64 Checkboxen), als Dezimalzahl und als Hexadezimalzahl und dann - entsprechend dem, was ich eingegeben habe, die anderen Felder aktualisiert sehen.naums hat geschrieben:Du willst eine Kommazahl eingeben und dir die binärdarstellung ankucken, sowie diese binärzahl als integer ausgeben lassen? Sollte an und für sich kein Problem darstellen (ich weiß, dass hex geht - und zwar ohne Probleme), PHP bringt sicher die ein oder andere nützliche Fkt. mit.
Das ist allgemein keine extrem aufwändige Aufgabe, deswegen packe ich sie einfach mal hier rein, falls sich jemand daran ausprobieren möchte. Ich merke halt nur gerade, dass mir sowas fehlt, weil ich ein Binärformat entschlüsseln muss und es da gut wäre, den Hexdump irgendwo einzugeben und zu sehen, dass das die Darstellung für double( 1.0 ) ist.
Für Floats gibts hier ein Applet:
http://www.h-schmidt.net/FloatApplet/IEEE754de.html
So in etwa stelle ich mir das vor.
Auch ein Dezimal <=> Hex Konverter wäre gut.
Wenn Fragen sind, beantworte ich die gerne. Man kann also auch was lernen. Und wenn keiner Bock hat, dann muss ich halt mal gucken, wann ich dazu Zeit und Lust habe.
War klar. ^^naums hat geschrieben:PS: ich gebe das Projekt an die anderen weiter.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
-
- Beiträge: 236
- Registriert: Do Feb 10, 2011 6:31 pm
Re: Float/Double-Umrechnung als Website
Hatte gedacht ich mach das mal so nebenbei, auch für mich.
PHP bietet da eine nette Funktion die unter Umständen schon fast ausreichend ist.
http://de.php.net/manual/de/function.base-convert.php
Aber ich habe auch eine Seite gefunden die das schon kann. Und schick ist es noch dazu.
http://www.binaryconvert.com/convert_double.html
PHP bietet da eine nette Funktion die unter Umständen schon fast ausreichend ist.
http://de.php.net/manual/de/function.base-convert.php
Aber ich habe auch eine Seite gefunden die das schon kann. Und schick ist es noch dazu.
http://www.binaryconvert.com/convert_double.html
Re: Float/Double-Umrechnung als Website
Ja, nette Seite.. Da erkennt man auch schöne Muster in der Mantisse: http://www.binaryconvert.com/result_dou ... 9069045049nouseforname hat geschrieben:Aber ich habe auch eine Seite gefunden die das schon kann. Und schick ist es noch dazu.
http://www.binaryconvert.com/convert_double.html
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Float/Double-Umrechnung als Website
Dann weiß ich ja jetzt, woran man sich messen lassen muss 

Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Float/Double-Umrechnung als Website
Ich habe dann heute mal angefangen, mich mal wieder in JavaScript reinzuversetzen. Nun habe ich Kopfschmerzen...
Momentan geht es nur für Int32, es sieht scheiße aus, aber es ist ja ausbaufähig
http://www.proggen.org/doku.php?id=convert
Es hat nichtzufällig jemand schon eine Idee, wie man eine in Javascript eine 64 Bit Double mit Bits zusammenschraubt? ^^
reinterpret_cast gibt's in JavaScript wohl nicht ^^
Momentan geht es nur für Int32, es sieht scheiße aus, aber es ist ja ausbaufähig

http://www.proggen.org/doku.php?id=convert
Es hat nichtzufällig jemand schon eine Idee, wie man eine in Javascript eine 64 Bit Double mit Bits zusammenschraubt? ^^
reinterpret_cast gibt's in JavaScript wohl nicht ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Float/Double-Umrechnung als Website
Für Integer mit Servlets:
converters.IntegerConverter:
web.Html:
Vielleicht mach ich noch eine JSF-Version ^^
converters.IntegerConverter:
Code: Alles auswählen
package converters;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import web.Html;
@WebServlet(name = "IntegerConverter", urlPatterns = {"/IntegerConverter"})
public class IntegerConverter extends HttpServlet {
String intString;
String uintString;
String binString;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
intString = request.getParameter("int");
uintString = request.getParameter("uint");
binString = request.getParameter("bin");
if (intString != null && !intString.isEmpty()) {
Integer integer = Integer.parseInt(intString);
binString = Integer.toBinaryString(integer);
uintString = String.valueOf(Long.parseLong(binString, 2));
} else if (uintString != null && !uintString.isEmpty()) {
if (uintString.startsWith("-")) {
uintString.replaceFirst("-", "");
}
Long uinteger = Long.parseLong(uintString);
intString = String.valueOf(uinteger.intValue());
binString = Long.toBinaryString(uinteger);
} else if (binString != null && !binString.isEmpty()) {
Long uinteger = Long.parseLong(binString, 2);
intString = String.valueOf(uinteger.intValue());
uintString = uinteger.toString();
} else {
intString = "0";
uintString = "0";
binString = "0";
}
printForm(out);
} catch (NumberFormatException ex) {
out.println(Html.getDoctype());
out.println("<html>");
out.println("<body>");
out.println("<h2>Fehler bei der Konvertierung: " + ex.getMessage() + "</h2><br />");
out.println("<a href=\"" + getServletName() + "\">Zurück</a>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
private void printForm(PrintWriter out) {
out.println(Html.getDoctype());
out.println("<html>");
out.println("<body>");
out.println("<h2>Konvertierung von Zahlen</h2><br />");
out.println("<form>");
out.println("int: <input type=\"text\" onchange=\"submit();\" name=\"int\" value=\"" + intString + "\" /><br />");
out.println("</form>");
out.println("<form>");
out.println("unsigned int: <input type=\"text\" onchange=\"submit();\" name=\"uint\" value=\"" + uintString + "\" /><br />");
out.println("</form>");
out.println("<form>");
out.println("binary: <input type=\"text\" onchange=\"submit();\" name=\"bin\" value=\"" + binString + "\" /><br />");
out.println("</form>");
out.println("</body>");
out.println("</html>");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}
Code: Alles auswählen
package web;
public class Html {
public static String getDoctype() {
return "<!DOCTYPE HTML PUBLIC \" -//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">";
}
}
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Float/Double-Umrechnung als Website
Tu Dir keinen Zwang an, ich will's trotzdem in JavaScript, denn damit darf ich wohl in Zukunft wieder häufiger kämpfen. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.