SORU
30 AĞUSTOS 2014, CUMARTESİ


Neden bir ifade bir sabit yerine, bir C-loop'in koşullu?

Birçok programlama Yarışmalarda insanlar fordöngü bu yaz gördüm

for(i = 0; i < (1 << 7); i  )

Ben bir şey eksik sürece, bu aynı şey

for(i = 0; i < 128; i  )

Neden (1 << 7) sürümünü kullanmak?
Bu durum her zaman hesaplamak gereksiz bir yük değil mi?

CEVAP
30 AĞUSTOS 2014, CUMARTESİ


Evet, davranış olarak eşdeğer.

Neden insanlar kullanın (1 << 7) sonra sürüm?

2 Bir güç olduğunu belgelemek için kullanıyorlar sanırım.

Bu durum her zaman hesaplanıyor bir yükü olmalı! Bu arkasındaki nedeni bulmak için kuramıyorum!

Aslında değil, normal bir derleyici 128 1 << 7 yerini alacak ve her iki döngüler aynı performansları olacak.

(C11, 6.6p2) "sabit Bir ifade çeviri yerine çalışma zamanı sırasında değerlendirilebilir ve buna göre bir sabit olabilir herhangi bir yerde kullanılabilir."

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Droid Life

    Droid Life

    17 Kasım 2009
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • Peyton

    Peyton

    28 Aralık 2008