[C] f*f (unendlich)

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
AlexImperator
Beiträge: 23
Registriert: Mi Aug 13, 2014 5:25 pm

[C] f*f (unendlich)

Beitrag von AlexImperator » Do Aug 14, 2014 10:37 pm

Code: Alles auswählen


#include <stdio.h>

int main ()
{
	int f=2;
	
	for(;;)
	{
		f=f*f;
		printf("%d\n",f);
	}
		
	return 0;
}
ich seh das problem nicht aber ich bekomme nur Nullen :/

Code: Alles auswählen

//soll bis ins unendliche 2er potenzen ausgeben

#include <stdio.h>

int main ()
{
	int f=1;
	
	for(;;)
	{
		f=f*2;
		printf("%d\n",f);
	}
		
	return 0;
}
da das gleiche problem

Danke in Voraus :)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: [C] f*f (unendlich)

Beitrag von Xin » Fr Aug 15, 2014 12:47 am

Beim ersten Listing solltest Du %f statt %d nehmen und beim zweiten Listing solltest Du neu kompilieren - das sollte funktionieren. ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

AlexImperator
Beiträge: 23
Registriert: Mi Aug 13, 2014 5:25 pm

Re: [C] f*f (unendlich)

Beitrag von AlexImperator » Fr Aug 15, 2014 11:32 am

sry wenn ich jz ganz blöd frag: Was meinst du mit Listing

meinst du ich soll die zeile so verändern?

Code: Alles auswählen

printf("%f\n",f);
ich weiß auch nicht was du dann mit
beim zweiten Listing solltest Du neu kompilieren
so hab ich das verstanden:

Code: Alles auswählen

for(;;)
{
      f=f*2;
      printf("%d\n",f);
      kompilier dich neu
 }
:D

sry hab echt keine ahnung :( :oops:

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: [C] f*f (unendlich)

Beitrag von Xin » Fr Aug 15, 2014 11:41 am

AlexImperator hat geschrieben:sry wenn ich jz ganz blöd frag: Was meinst du mit Listing
Ein Listing ist ein anderes Wort für Quelltext oder Ausschnitt eines Quelltextes.
AlexImperator hat geschrieben: meinst du ich soll die zeile so verändern?

Code: Alles auswählen

printf("%f\n",f);
Beim ersten Listing ja.
AlexImperator hat geschrieben: ich weiß auch nicht was du dann mit
beim zweiten Listing solltest Du neu kompilieren
so hab ich das verstanden:

Code: Alles auswählen

for(;;)
{
      f=f*2;
      printf("%d\n",f);
      kompilier dich neu
 }
:D

sry hab echt keine ahnung :( :oops:
Wie erzeugst Du aus Deinem Quelltext ein lauffähiges Programm?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

AlexImperator
Beiträge: 23
Registriert: Mi Aug 13, 2014 5:25 pm

Re: [C] f*f (unendlich)

Beitrag von AlexImperator » Fr Aug 15, 2014 12:22 pm

aso

ja hab beides gemacht bekomm beim ersten immer 0.00000
der 2. tipp hat auch nicht geholfen hatte es ohnehin schon 3x kompiliert immer noch nur Nullen

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: [C] f*f (unendlich)

Beitrag von Xin » Fr Aug 15, 2014 1:12 pm

AlexImperator hat geschrieben:aso

ja hab beides gemacht bekomm beim ersten immer 0.00000
der 2. tipp hat auch nicht geholfen hatte es ohnehin schon 3x kompiliert immer noch nur Nullen
:-D

Okay... nehmen wir den Quelltext mit int und %d. Der kann nicht nur Nullen ausgeben. Das gibt der Quelltext nicht her, der muss - da f = 1 ist, und f anschließend verdoppelt wird und dann ausgegeben wird, also schonmal 2 ausgeben. Und das tut er auch.

Dann kommen wir kurz zum Kommentar:

Code: Alles auswählen

//soll bis ins unendliche 2er potenzen ausgeben
Computer kennen keine Unendlichkeit - schonmal gar nicht bei Integers.

Ändern wir den Quelltext ein wenig:

Code: Alles auswählen

#include <stdio.h>

int main ()
{
   int f=1;

   for(;f!=0;)   // <- Änderung
   {
      f=f*2;
      printf("%d\n",f);
   }

    return 0;
}
Die Schleife bricht ab, wenn Nullen kommen. Dann siehst Du auch mal, was vor den Nullen kommt.

Dann schau Dir das hier an: Zahlendarstellung.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten