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

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008