有沒有什麼聰明的方法來解決這個問題? uint32_t a = 16637510;
uint32_t b = 45627362;
uint32_t c = 0;
c = a * 100000/b //overflows
c = (a * 100/b)*1000 //gives 36000
我需要得到結果c = 36463或更好36464.並且需要快速,非浮動操作。 CPU是STM32F
我一直在用c編程一段時間。但從來沒有使用整數環繞的程序。我知道如果整數分配4個字節,那麼整數範圍變爲-2,147,483,648至2,147,483,647。如果我們超過了限制,它只是環繞一下。 我正在使用下面的程序來了解如何環繞發生。 #include <stdio.h>
int main() {
int n = 4, s = 2;
for (int i = 0; i < n; ++i