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