Hallo Leute, ich benutze den IAR C-Compiler auf MSP430F149 und versuche gerade 3 Bytes, die Vorkomma- und Nachkommateil einer Float-Variablen repräsentieren wieder zurück in eine float zu konvertieren. Die Umwandlung der 3 Bytes in Vor- und Nachkommateil als int habe ich bereits umgesetzt. Die Floatvariable f_help wird auch schon mit dem Vorkommateil der Bytes belegt. Nun zu meinem Problem, ich muss bestimmen wieviele Stellen der Nachkommateil hat. Gibt es eine Standardfunktion, die dies umsetzt?
1 | float hb2float(char byte2, char byte1, char byte0) |
2 | {
|
3 | // INPUT 16bit value, 8bit digit
|
4 | // OUTPUT Float Value of Halfbrigde result
|
5 | |
6 | union
|
7 | {
|
8 | int i32; |
9 | char i_byte[4]; |
10 | }help; |
11 | |
12 | unsigned int vk, nk; |
13 | float f_help; |
14 | |
15 | help.i_byte[0]=byte1; |
16 | help.i_byte[1]=byte2; |
17 | help.i_byte[2]=0x00; |
18 | help.i_byte[3]=0x00; |
19 | vk=help.i32; |
20 | |
21 | help.i_byte[0]=byte0; |
22 | help.i_byte[1]=0x00; |
23 | help.i_byte[2]=0x00; |
24 | help.i_byte[3]=0x00; |
25 | nk=help.i32; |
26 | |
27 | f_help=(float)vk; |
28 | return f_help; // vorläufiger Rückgabewert -> nur Vorkomma |
29 | };
|
Für Anregungen zur Lösung wäre ich dankbar. Gruß HoLdo