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

  • FF Radio

    FF Radio

    16 Mayıs 2008
  • martin shervington

    martin sherv

    7 EKİM 2011
  • William Sledd

    William Sled

    24 EYLÜL 2006