Forum
Öffentliche Foren |
FORUM: Spiele & Computer THEMA: c rechnet Potenz falsch | |||||
AUTOR | BEITRAG | ||||
Earth
RANG Deckschrubber |
#1 - 12.12 23:05 Hi Leute,habe folgendes Programm in C geschrieben: ------------------------------------------ #include <stdio.h> #include <math.h> int main(){ long int i,zahl; for(i=0;i<5;i++){ zahl = pow(10,i); printf("%d\n",zahl); } } ------------------------------------------ Wenn ich es ausführe bekomm ich am Bildschirm folgendes zu lesen: 1 10 99 1000 9999 Warum rechnet mir das Programm die Potenz 10^2 und 10^4 nicht korretk aus?!? |
||||
Crush (Anti Däääh)
RANG Master of Clanintern |
#2 - 12.12 23:34 pow() arbeitet mit Fliesskommazahlen. Wenn du Integer verwendest, entstehen Rundungsdifferenzen. Davor hätte dein Compiler dich eigendlich warnen müssen (GCC sagt: "9: warning: converting to `int' from `double'")Output:
Wenn du keine Nachkommastellen willst, dann tausch die Ausgabezeile aus durch printf("%d\n",(int)zahl); |
||||