Regenschirm schrieb:
ich würde gerne folgende C#-Zeile in C schreiben, was mir nicht gelingt
foo(double value) // hier wird 0.2240070104599 übergeben
{
return foo1(*(long*)(&value));
}
Das ist gültiger C Code, vor foo fehlt noch long und foo1 sollte ebenso funktionieren.
Ich glaube, dein C# Code ist schon Müll, was du willst ist offensichtlich ein Hexdump deines double-Speichers und nicht - wie dein Titel aussagt - eine "Konvertierung" des double-Wertes in einen long-Wert (die sowieso ziemlich sinnfrei ist, da Kommastellen entfallen und oft ein long-Überlauf zu erwarten ist).