7 Stimmen

Sind If Thens schneller als Multiplikation und Zuweisung?

Ich habe eine kurze Frage: Nehmen wir an, ich habe den folgenden Code und er wird in ähnlicher Weise zum Beispiel 10 Mal wiederholt.

if blah then
    number = number + 2^n
end if

Wäre es schneller zu bewerten:

number = number + blah*2^n?

Das wirft auch die Frage auf, ob man einen booleschen Wert mit einer ganzen Zahl multiplizieren kann (obwohl ich mir nicht sicher bin, welcher Typ von 2^n zurückgegeben wird, ist es eine ganze Zahl oder ohne Vorzeichen usw.)? (Ich arbeite in Ada, aber wir sollten versuchen, dies vielleicht zu verallgemeinern).

EDIT: Entschuldigung, ich sollte klarstellen, dass ich 2 hoch n betrachte, und ich habe c dort hineingesetzt, weil ich für mein eigenes Lernen in der Zukunft interessiert war, wenn ich jemals auf dieses Problem in c stoße, und ich denke, es gibt mehr c-Programmierer auf diesen Brettern als Ada (ich nehme an, und Sie wissen, was das bedeutet), aber mein aktuelles Problem ist in der Sprache Ada, aber die Frage sollte ziemlich sprachunabhängig sein (hoffe ich).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X