double* zu uint32 umwandeln



  • Hallo nochmal, habe noch ein Problem. Arbeite immer noch mit einer Mex-Funktion in C, die mir durch MatLab bestimmte Möglichkeiten einer Interaktion bietet zwischen C und MatLab.
    Habe eine Funktion, die mir einen double* zurück gibt. Diesen möchte ich in uint32 umwandeln. Hab schon einiges probiert aber der Vergleich zwischen Vorher und Nachher hat immer 2 unterschiedliche Adressen zur Folge.

    Folgende Konvertierungen habe ich getestet:

    pOutput2[0] = (unsigned long)mxGetPr(plhs[0]);
    

  • Mod

    Präzise gesagt: Du möchtest ein double-Feld als ein uint32-Feld auffassen? In welchem Sinne genau? double und uint32 sind auf 99.999% aller Systeme ziemlich inkompatibel. Wenn du den Zahlenwert erhalten möchtest, musst du jedes Element einzeln kopieren und konvertieren. Wenn du das Bitmuster behalten möchtest, dann caste es einfach. Das Ergebnis hat wertemäßig aber nichts mehr mit dem Ausgangsmaterial zu tun.


Log in to reply