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

  • Le Cargo !

    Le Cargo !

    24 HAZİRAN 2007
  • Liberator

    Liberator

    14 EYLÜL 2007
  • уσ ρℓz sυв ιℓℓ sυв вαcқ

    уσ ρℓz

    14 EKİM 2010