SORU
11 AĞUSTOS 2008, PAZARTESİ


C vardiya operatörü

C, operatörler (, ** 1 ** 2) shift aritmetik veya mantıksal.

CEVAP
11 AĞUSTOS 2008, PAZARTESİ


Sol geçiş yaparken, aritmetik ve mantıksal bir vardiya arasında fark yoktur. Doğru kayması, kayma türü değeri değişen bir türüne bağlıdır.

Bu okuyucular için arka plan fark aşina gibi, "mantıksal" 1 bit sağa kaydır sağa tüm bitleri kaydırır ve bit 0 ile. en soldaki doldurur bir Bir" shift en soldaki bit. özgün değeri yaprakları "aritmetik Fark negatif sayılar ile ilgili ne zaman önemli hale gelir.)

İşaretsiz bir değer kayması,^< . C operatör mantıksal bir değişimdir. İmzalı bir değer kayması,^< . operatör aritmetik bir değişimdir.

Örneğin, 32 bit makine varsayarsak:

signed int x1 = 5;
assert((x1 >> 1) == 2);
signed int x2 = -5;
assert((x2 >> 1) == -3);
unsigned int x3 = (unsigned int)-5;
assert((x3 >> 1) == 0x7FFFFFFD);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Cole Rolland

    Cole Rolland

    23 Kasım 2008
  • POGProductionz

    POGProductio

    27 NİSAN 2012
  • Triune Films

    Triune Films

    9 ŞUBAT 2006