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

  • Awesome Toys TV

    Awesome Toys

    18 HAZİRAN 2014
  • gsmaestro

    gsmaestro

    17 AĞUSTOS 2006
  • Tips On Linux

    Tips On Linu

    26 Temmuz 2008