2012-01-25 43 views

回答

5
b = num % 1000; 
a = num/1000; 
+0

2tru 2tru 2tru 2tru – user1139252

+1

或b = num -a * 1000如果你想保存一個分割點... – mcmcc

+1

@mcmcc如果我們要進行微觀優化,我們應該添加24,然後右移10位,避免分割和共模...(這是安全的,因爲短整型可以容納超過4個位數,所以沒有溢出的機會) – bdares

1

,因爲它是那麼簡單:

a = num/1000; 
b = num % 1000; 
0
// cast to integer should drop the decimal 
a = (int) (num/1000); 

// use variable a to subtract the thousand place to zero 
b = a - num; 
3

C標準庫包含div()它可以在一個操作中做到這一點:

div_t r = div(num, 1000); 
a = r.quot; 
b = r.rem; 

C標準庫可以預期有一個優化的實現div(),它將在一個機器指令中(在具有這種指令的CPU上)執行除法餘數。

相關問題