Und wie ist Eleganz definiert?
Ganz ehrlich, als Programmierer der ersten Stunde sind mir diese
modernen Spacherweiterungen eher zuwider, als dass sie in irgendeiner
Weise den ganzen Sermon leserlicher machen.
Ich selbst würde zur klassischen Programmierung zurückfinden und die
Festpunktzahl als gewöhnlichen 32-Bit-Integer definieren - mit 10
Nachkommastellen im Sinn (Format "22.10"). Der Vorkommaanteil ergibt
sich dann, wie bereits von S. R. erwähnt, durch Schieben um diese 10
Positionen nach rechts. Mit der Zuweisung im Gleitkommaformat
entsprechend:
1 | tempc = (int)(12.421875 * 1024);
|
2 | output4 = tempc / 1024;
|
Die 1024 könnte man als #define festlegen oder man definiert sich Makros
zur Umrechnung:
1 | tempc = DBL2FIX (12.421875);
|
2 | output4 = FIX2INT (tempc);
|
Das wäre zumindest mein Verständnis von Eleganz.