diff --git a/components/cpu.c b/components/cpu.c
index 6551f31..02e7671 100644
--- a/components/cpu.c
+++ b/components/cpu.c
@@ -34,11 +34,11 @@
 			return NULL;
 		}
 
-		return bprintf("%d", 100 *
-					   ((b[0] + b[1] + b[2] + b[5] + b[6]) -
-					   	(a[0] + a[1] + a[2] + a[5] + a[6])) /
-					   ((b[0] + b[1] + b[2] + b[3] + b[4] + b[5] + b[6]) -
-					   	(a[0] + a[1] + a[2] + a[3] + a[4] + a[5] + a[6])));
+		return bprintf("%d", (int)(100 *
+		               ((b[0] + b[1] + b[2] + b[5] + b[6]) -
+		                (a[0] + a[1] + a[2] + a[5] + a[6])) /
+		               ((b[0] + b[1] + b[2] + b[3] + b[4] + b[5] + b[6]) -
+		                (a[0] + a[1] + a[2] + a[3] + a[4] + a[5] + a[6]))));
 	}
 #elif defined(__OpenBSD__)
 	#include <sys/param.h>
@@ -89,11 +89,11 @@
 		}
 
 		return bprintf("%d", 100 *
-					   ((a[CP_USER] + a[CP_NICE] + a[CP_SYS] + a[CP_INTR]) -
-					   	(b[CP_USER] + b[CP_NICE] + b[CP_SYS] + b[CP_INTR])) /
-					   ((a[CP_USER] + a[CP_NICE] + a[CP_SYS] + a[CP_INTR] +
-					   	 a[CP_IDLE]) -
-					   	(b[CP_USER] + b[CP_NICE] + b[CP_SYS] + b[CP_INTR] +
-					   	 b[CP_IDLE])));
+		               ((a[CP_USER] + a[CP_NICE] + a[CP_SYS] + a[CP_INTR]) -
+		                (b[CP_USER] + b[CP_NICE] + b[CP_SYS] + b[CP_INTR])) /
+		               ((a[CP_USER] + a[CP_NICE] + a[CP_SYS] + a[CP_INTR] +
+		                 a[CP_IDLE]) -
+		                (b[CP_USER] + b[CP_NICE] + b[CP_SYS] + b[CP_INTR] +
+		                 b[CP_IDLE])));
 	}
 #endif