Zehnerpotenzen in C: z.B 10^3 = 100

Gast #3007398
Lesenswert?
• ▲
▼
Hallo zusammen,
habe eben an einer Funktion in C gesucht, um Zehnerpotenzen zu erzeugen.
Also ein Variable hat den Wert 3, dann möchte ich 1000 erhalten, bei 4 
dann 10000  u.s.w.
Leider hat 10^Varriable  nicht funktioniert.
Nach dem nachlesen in einem C-Buch habe ich gesehen, das ^  bitweise 
exklusivoder ist.
Habe das Problem jetzt aufwendig in einer Schleife gelöst.

Frage:  Gibt es in C wirklich keine Potenzen ?

Gruß Dirk
#3007572
Lesenswert?
• ▲
▼
Hallo,

ich mache das manchmal so, dass ich ein Array im Flash anlegen.

Bedingung n E [0,..,9], f(n) = 10^n
1
#include <avr/pgmspace.h>
2

3
const uint32_t const a_my_exp10 [] PROGMEM =
4
{
5
1ul, // 10^0
6
10ul, // 10^1
7
100ul, // 10^2
8
1000ul, // 10^3
9
10000ul, // 10^4
10
100000ul, // 10^5
11
1000000ul, // 10^6
12
10000000ul, // 10^7
13
100000000ul, // 10^8
14
1000000000ul, // 10^9
15
};
16

17
uint32_t get_exp10(uint8_t n)
18
{
19
  if (n < 10)
20
    return (uint32_t)pgm_read_dword( & a_my_exp10[ n ] );
21
  else
22
    return 0;
23
}
Gast #3008122
Lesenswert?
• ▲
▼
Karl schrieb:
> Sven B. schrieb:
>> 10e3 ist vom Typ float, also Vorsicht. 1000 ist nicht gleich 10e3.
>
> 10³ = 1000. 10e3 = 1e4 = 10 * 1000 = 1 * 10000. Ich dachte soviel Mathe
> kann man hier voraussetzen. Aber ich werde es dem nächst
> berücksichtigen.

Selfowned^^
Persönliche Seite #3008151
Lesenswert?
• ▲
▼
Karl schrieb:
> Sven B. schrieb:
>> 10e3 ist vom Typ float, also Vorsicht. 1000 ist nicht gleich 10e3.
>
> 10³ = 1000. 10e3 = 1e4 = 10 * 1000 = 1 * 10000. Ich dachte soviel Mathe
> kann man hier voraussetzen. Aber ich werde es dem nächst
> berücksichtigen.

Er meinte das die beiden Zuweisungen
1
A = 1000;
2
B = 1E3;
nicht gleich sind. Und das sind sie auch nicht, da der Datentyp 
unterschiedlich ist.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.