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

  • eyes4beautee

    eyes4beautee

    17 HAZİRAN 2011
  • Rachel Talbott

    Rachel Talbo

    26 Ocak 2011
  • The Computer Chronicles

    The Computer

    7 Kasım 2012