diff --git a/fx_s2308_double.h b/fx_s2308_double.h index cf7146335743fb08d710da4e312cdc96403a7874..24d61e015dfe62816f3ea05fdf851c94703cbb0a 100644 --- a/fx_s2308_double.h +++ b/fx_s2308_double.h @@ -1,8 +1,8 @@ #pragma once typedef double fx_s2308; #define fx_to_double(a) ((double) a/ (256.0)) -#define double_to_fix(a) ((double) a/ (256.0)) +#define double_to_fx(a) ((int) (a* 256.0)) #define fx_add(a,b) (a+b) #define fx_sub(a,b) (a-b) -#define fx_mul(a,b) (double_to_fx(fx_to_double(a)*fx_to_double(b))) -#define fx_div (a,b) (double_to_fx(fx_to_double(a)/fx_to_double(b))) \ No newline at end of file +#define fx_mul(a,b) double_to_fx((fx_to_double(a)*fx_to_double(b))) +#define fx_div(a,b) double_to_fx((fx_to_double(a)/fx_to_double(b))) \ No newline at end of file diff --git a/test.c b/test.c index 0ae685626d31e9ffed1b55b67bdde4cec9e03aa3..a1b7c25f71335d47aedcd03eb20ec3a943af6322 100644 --- a/test.c +++ b/test.c @@ -5,7 +5,7 @@ typedef double fx_s2308; int main() { fx_s2308 a = 200; fx_s2308 b = 100; - fx_s2308 output = fx_add(a, b); + fx_s2308 output = fx_mul(a, b); printf("%lf",output); return 0; } \ No newline at end of file