Seite 1 von 1

sint32 to float32

Verfasst: Di Dez 18, 2012 6:46 pm
von duke
Hallo liebe Community,
ich möchte einen Integer in einen float-typ umwandeln, aber casten funktioniert nicht.
Bin schon am verzweifeln, weil ich keine Idee habe wie ich das sonst realisieren soll.
Danke

Code: Alles auswählen

sint32 value1 = 10000;
float32 value2 = (float32) value1;

Re: sint32 to float32

Verfasst: Di Dez 18, 2012 7:15 pm
von nufan
Was bekommst du denn für eine Fehlermeldung bzw. falsche Ausgabe?

Re: sint32 to float32

Verfasst: Di Dez 18, 2012 10:58 pm
von Xin
Und woher kommen die Datentypen sind32 und float32?
Wer hat die definiert und wie?

Re: sint32 to float32

Verfasst: Mi Dez 19, 2012 8:05 am
von duke
ok da hab ich nicht dran gedacht. die typen sind von einer 3XL steuerung von STW.
c äquivalente sind: float und signed long int (beide 32 bit)

Code: Alles auswählen

signed long int value1 = 10000;
float value2 = (float) value1;
Es wird fehlerfrei kompiliert, aber der Wert wird nicht in value2 geschrieben.

Re: sint32 to float32

Verfasst: Mi Dez 19, 2012 10:13 am
von Fisherman
Seltsam .... Habe den Code mal in ein C Programm übertragen und bei mir funktioniert alles einwandfrei. Vielleicht ist der Quellcode für dich hilfreich ;)

cc ./test.c -o test

Code: Alles auswählen

#include <stdio.h>

int main()
{
 long int value1 = 10000;
 float value2 = (float)value1;
 printf("%lf Wert aus Value2\n",value2);

 return 0;
}

Re: sint32 to float32

Verfasst: Mi Dez 19, 2012 1:14 pm
von duke
ok hat sich erledigt. war natürlich mein Fehler.
value1 ist eine Variable einer Struktur in einem Array. Diesen habe ich nur mit array[2] initialisiert und wollte dann in die Variable in array[2] schreiben.
diese existiert natürlich nicht. komisch finde ich nur, dass der compiler keinen fehler bzw. warnung ausgegeben hat.
Vielen Dank für eure Zeit und Hilfe.