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

  • echifitness

    echifitness

    9 Kasım 2008
  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • makemebad35

    makemebad35

    17 NİSAN 2006