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

  • Flohoo

    Flohoo

    12 EYLÜL 2009
  • mipd1980

    mipd1980

    25 EKİM 2006
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010