SORU
15 AĞUSTOS 2011, PAZARTESİ


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
15 AĞUSTOS 2011, PAZARTESİ


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: DIV src

Not: İ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. */

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunliu

    bunliu

    2 Mayıs 2007
  • Nick Pitera

    Nick Pitera

    8 NİSAN 2006
  • tatermoog

    tatermoog

    2 AĞUSTOS 2006