C En İyi tamsayı bölme şansı olur ve kalan
Ben sadece merak ediyorum, eğer istiyorsam bir bölme ile b ve ben meraklı sonucu c ve diğerleri (örneğin, söylemek zorundayım saniye sayısı ve bölünmüş içine dakika ve saniye olarak), ne en iyi yolu hakkında?
Olur
int c = (int)a / b;
int d = a % b;
ya
int c = (int)a / b;
int d = a - b * c;
ya
double tmp = a / b;
int c = (int)tmp;
int d = (int)(0.5 (tmp-c)*b);
ya
belki ikisi de aynı anda veren büyülü bir işlevi var mı?
CEVAP
Yarı düzgün herhangi bir derleyici sadece (div tekrar gerçekleştirmek) kullanmak gerekir yani 86 geri kalan kısmının olduğu bölümün kendisi tarafından bir ürün. Bu muhtemelen diğer mimarileri üzerinde de yapılır.
Talimat:
DIVsrcNot: İmzasız bölümü. Akümülatör (AX) tarafından "". src böler Eğer bölen bayt bir değer olduğunu, neden EL konurve geri kalanı için AH. Eğer bölen word değeri:AX "" ve neden saklanır src bölünür DX sonra AXve kalan DX saklanır.
int c = (int)a / b;
int d = a % b; /* Likely uses the result of the division. */

En hızlı Karekök tamsayı kısmını(n) şa...
Nasıl Tamsayı Bölme Sonucunda toplamay...
PHP bir dizideki tüm alfabetik karakte...
2 tarafından bir tamsayı bölme için ku...
Tamsayı bölme Java: Nasıl bir çift üre...