Ich habe einen eingebetteten PIC32-Mikrocontroller, der den C32-Compiler ausführt. Ich sende ein UDP-Paket mit einem 64-Bit-Doppelwert an ein Java-Programm. In meinem Test versuche ich den Dezimalwert 40.5 nach Java zu senden.IEEE 754 Zahlen mit doppelter Genauigkeit von MIPS C zu Java-Konvertierung
würde ich erhalten erwarten: 0x4044400000000000
seit System.out.println (Double.longBitsToDouble (0x4044400000000000L));
druckt: 40,5
Wenn ich das UDP-Paket ohne Konvertierungen senden, Ich erhalte: 0x00002242352D3330
Jede Idee, wie ich diesen Wert in Java bekommen? Ich kann die C32-Repräsentation des Doppelkopfs weder Kopf noch Zahl machen.
Ist endianess gleich? – dbrank0
Ist sizeof (double) eigentlich 8 auf dem PIC? Wie nennt man Htonl auf dem Doppel? – Collin
Wie ziehst du das in Java ein? –