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

  • eyes4beautee

    eyes4beautee

    17 HAZİRAN 2011
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006
  • Videojug

    Videojug

    25 EKİM 2006