Wie heißt diese Funktion?
-
Hi,
Ich suche den Namen der mathematischen Funktion, die mir Folgendes wiedergibt:
z.b:
2^2 + 2^4 + 2^6 + 2^8 + 2^10 = 1364;
Gibt es eine solche Funktion überhaupt?
Falls ja, wie heißt sie, und gibt es schon eine c++ Funktion in die das macht?
Grüße
pewpy
-
Die Funktion heißt pow, gibts allerdings IIRC nur für Fließkommatypen: http://www.cplusplus.com/reference/clibrary/cmath/pow/
Der operator^ existiert zwar auch, ist aber ein bitweises exklusives oder (XOR) und hat mit Potenzen nichts zu tun.
Für Zweierpotenzen bei integralen Typen gibts allerdings eine Möglichkeit, indem man sie durch Bitoperationen darstellt:
1 << 0 := 1
1 << 1 := 2
1 << 5 := 32
1 << 2 + 1 << 4 + 1 << 6 + 1 << 8 + 1 << 10 =: 1364
-
Hi,
danke erstmal für die antwort.
pow() kannte ich. ja, das ^ sollte für exponent stehen, ich wusste nicht, ich habe auf meinem keyboard außer ² und ³ nichts entsprechendes gefunden

das mit den bitoperationen gefällt mir sehr gut. ich verstehe es nicht, aber sieht interessant aus
ich werds mir mal näher ansehen.was ich aber eigentlich meinte ist, gibt es eine funktion, der ich z.b nur 2 werte gebe:
funktion(2, 5) = 1364
man könnte es auch so schildern:
wie oft kann man 1024 durch 4 teilen? (5 mal)
1024 / 4
+= 256 / 4
+= 64 / 4
+= 16 / 4
+= 4 / 4
+= 1
= 1365gibts keine mathematische formulierung, die diesen zusammenhang ausdrückt, und eine passende funktion dafür?

-
hoopi schrieb:
gibts keine mathematische formulierung, die diesen zusammenhang ausdrückt, und eine passende funktion dafür?

Das sind ein wenig verschiedene Dinge...
funktion(2, 5) = 1364
vor allem mit der zwei vorne qirds kompliziert. Mathematisch wäre das in etwa sowas wie \[f(a,n) = \sum_{i=1}^n 2^{ai}\]
Das ist recht speziell und dafür gibts ganz sicher keine Funktion in C++wie oft kann man 1024 durch 4 teilen? (5 mal)
das wäre dann die fünfte Wurzel aus 1024, $$\sqrt[5]{1024}$$ oder anders ausgedrückt $$1024^{1/5}$$
und eine Exponentialfunktion gibts auch, damit kannst du dir so einen Ausdruck schnell zusammenbauen.
-
hoopi schrieb:
z.b:
2^2 + 2^4 + 2^6 + 2^8 + 2^10 = 1364;
Gibt es eine solche Funktion überhaupt?http://www.research.att.com/~njas/sequences/index.html?q=4%2C20%2C84%2C340%2C1364&language=english :xmas2:
-
hi
danke dir vielmals! das hat mir sehr weitergeholfen.