Schnelle objektorientierte, kompilierende Programmiersprache.
			
		
		
			- 
				
																			 duke
- Beiträge: 5
- Registriert: Mo Dez 10, 2012 3:56 pm
						
						
													
							
						
									
						Beitrag
					
								von duke » Di Dez 18, 2012 6:46 pm
			
			
			
			
			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;
 
		 
				
		
		 
	 
	
				
		
		
			- 
				
																			 nufan
- Wiki-Moderator
- Beiträge: 2558
- Registriert: Sa Jul 05, 2008 3:21 pm
						
						
													
							
						
									
						Beitrag
					
								von nufan » Di Dez 18, 2012 7:15 pm
			
			
			
			
			Was bekommst du denn für eine Fehlermeldung bzw. falsche Ausgabe?
			
									
									
						 
		 
				
		
		 
	 
	
				
		
		
			- 
				
								Xin							
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- 
				Kontaktdaten:
				
			
						
						
													
							
						
									
						Beitrag
					
								von Xin » Di Dez 18, 2012 10:58 pm
			
			
			
			
			Und woher kommen die Datentypen sind32 und float32?
Wer hat die definiert und wie?
			
									
									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.
						 
		 
				
		
		 
	 
	
				
		
		
			- 
				
																			 duke
- Beiträge: 5
- Registriert: Mo Dez 10, 2012 3:56 pm
						
						
													
							
						
									
						Beitrag
					
								von duke » Mi Dez 19, 2012 8:05 am
			
			
			
			
			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.
 
		 
				
		
		 
	 
	
				
		
		
			- 
				
								Fisherman							
- Beiträge: 84
- Registriert: Mi Jun 06, 2012 4:53 am
- Wohnort: 127.0.0.1
						
						
													
							
						
									
						Beitrag
					
								von Fisherman » Mi Dez 19, 2012 10:13 am
			
			
			
			
			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
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;
}
There is no place like 127.0.0.1
						 
		 
				
		
		 
	 
	
				
		
		
			- 
				
																			 duke
- Beiträge: 5
- Registriert: Mo Dez 10, 2012 3:56 pm
						
						
													
							
						
									
						Beitrag
					
								von duke » Mi Dez 19, 2012 1:14 pm
			
			
			
			
			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.