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

  • Adam Outler

    Adam Outler

    19 EKİM 2006
  • Jordie Jordan

    Jordie Jorda

    27 Ocak 2008
  • TVNorge

    TVNorge

    5 EKİM 2006