Countdown in for-Schleifen

Ich glaube, (aus einige der Forschung zu Lesen), das zählen in for-Schleifen ist tatsächlich effizienter und schneller in der Laufzeit. Mein vollständiger software-code ist C++

Im Moment habe ich dieses:

for (i=0; i<domain; ++i) {

mein 'ich' ist unsigned resgister int,
auch 'Domäne' ist unsigned int

in der for-Schleife, die ich verwendet, für den Gang durch ein array, z.B.

array[i] = do stuff

die Umrechnung der count-down vermasselt die erwartete/richtige Ausgabe meiner routine.

Kann ich mir vorstellen, die Antwort wird ganz trivial, aber ich kann nicht meinen Kopf um ihn herum.

UPDATE: 'Dinge zu tun', hängt nicht von vorherigen oder späteren iteration. Die Berechnungen in der for-Schleife sind unabhängig, die für die iteration von i ist. (Ich hoffe das macht Sinn).

UPDATE: Um runtime-speedup mit meiner for-Schleife, muss ich runter zählen, und wenn ja, entfernen Sie die nicht signierten Teil, wenn delcaring meine int, oder welche andere Methode?

Bitte helfen.

  • Wo ist die Frage?
  • Es ist nicht klar, was die Frage ist. Sie sind eher eine hilfreiche Antwort bekommt, wenn Sie Bearbeiten Ihre Frage klar zu stellen was genau Sie zu Fragen.
  • Vielleicht sollten Sie post von der for-Schleife, die Sie verwenden, die nach unten zählt auch. Und ohne Kenntnis der 'Sachen tun," wir sind gezwungen anzunehmen, dass die 'Dinge zu tun' für 'ich' nicht abhängig 'was' für 'i' -1', in welchem Fall zählen eindeutig nicht arbeiten kann.
  • Wie funktioniert eine Aussage wie deine machen keinen Sinn immer-ohne Berücksichtigung, welchen compiler du redest? Es könnte auch noch abhängig von der Architektur, weil, wie die hardware implementiert die zugrunde liegenden Vorgänge. Mein Punkt ist, ich könnte das design einer Architektur oder compiler, der dies bricht... Auch was du selbst tun, das erfordert, dass so ein lächerlich-Optimierung?
  • ja, ich bin nicht in der Lage zu finden keine klare Frage, die ich könnte Sinn machen. Es scheinen zwei "versteckte" Fragen unsigned wrap-around-und ist-looping-down-schneller, aber beide sind nicht ganz klar gefragt wie es scheint. Bitte geben Sie Ihren eigentlichen Frage
InformationsquelleAutor ohit | 2009-04-29
Schreibe einen Kommentar