Ihr obiger Ansatz ist völlig korrekt und die Klasse ist auch ausreichend schnell. Zum Multiplizieren und Dividieren von var können Sie Assemblerfunktionen verwenden:

fixed fixmul(fixed r1,fixed r2)
{
__asm {
mov eax,r1
mov edx,r2
imul edx
shrd eax,edx,10
adc eax,0
}
}

fixed fixdiv(fixed dividend, fixed divisor)
{
__asm {
mov eax,dividend
mov ecx,divisor
mov edx,eax
sar edx,22
shl eax,10
idiv ecx
}
}

Leider ist dies noch nicht die ganze Lösung, denn z.B. die Engine-Funktionen sind ja im C-Stil definiert und kennen diese Klasse nicht. Hier muss man noch etwas tricksen, damit die var Klasse sauber funktioniert und es keine Compilerwarnings gibt. Das hatte ich mir für eine der nächsten Überarbeitungen der SDKs vorgenommen.