myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Programmieren spanneder gestalten?

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 22.11.09, 19:02   #36
energy107
Softwareentwickler
 
Benutzerbild von energy107
 
Registriert seit: Sep 2008
Beiträge: 343
Bedankt: 432
energy107 ist noch neu hier! | 0 Respekt Punkte
Standard

Statt fPrintF einach mal WriteLn mit selben Parametern verwenden.
__________________
"Sänk ju for träwelling wis Deutsche Bahn!"
energy107 ist offline   Mit Zitat antworten
Ungelesen 23.11.09, 15:08   #37
Dennka
Hat eine Nase
 
Registriert seit: Oct 2008
Beiträge: 314
Bedankt: 115
Dennka ist noch neu hier! | 0 Respekt Punkte
Standard

Auch auf die Gefahr mich damit jetzt zu blamieren, poste ich es mal^^

Code:
#include <fstream>

using namespace std;

int main()
{
    double float Zahl = 0000000000000000;

ofstream fout( "Zahlen_Liste.txt" );
fout << Zahl++;
if(i==9999999999999999)
{


}
}
Mein Problem besteht jetzt darin, mit was für einem Typen kann ich diese große Zahlen Menge beschreiben.

Und Wenn es bei 9999.... angelangt ist soll es aufhören, also was gehört da jetzt in die if Anweisung?
Dennka ist offline   Mit Zitat antworten
Ungelesen 23.11.09, 17:28   #38
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 454
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

lies dir mal den n! thread durch. da hatten wir das thema.
Code:
double float Zahl = 0000000000000000;
// da kannste auch gleich = 0; schreiben
if(i==9999999999999999)
???
zahl ist double, i ??? ich nehme mal an int (oder long)
i kann auf einem 32bit system max 2^32 groß sein.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 23.11.09, 18:20   #39
Dennka
Hat eine Nase
 
Registriert seit: Oct 2008
Beiträge: 314
Bedankt: 115
Dennka ist noch neu hier! | 0 Respekt Punkte
Standard

Hatte ich wohl vergessen zu ändern, hab da einfach wild ausprobiert.

Demnach kann ich eine 16 stellige Zahl darstellen?

Da long ja nur Zahlen bis 2^32 darstelen kann, im Buch finde ich aber auch nix was darauf hindeutet
Dennka ist offline   Mit Zitat antworten
Ungelesen 23.11.09, 18:37   #40
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 454
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

2^32 == 4294967296
das ist eine 10-stellige zahl...

falls du ein 64-bit system hast:
2^64 == 8589934592 immer noch 10-stellig.
mehr gibt dein prozessor jedenfalls für native typen (int, long, long long) einfach nicht her.
wenn du mehr stellen willst musst du das emulieren. siehe n! thread.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 23.11.09, 21:20   #41
Dennka
Hat eine Nase
 
Registriert seit: Oct 2008
Beiträge: 314
Bedankt: 115
Dennka ist noch neu hier! | 0 Respekt Punkte
Standard

Hab ein 32 Bit System

Das sieht mehr sehr zu komplex aus, verstehe da kaum was, besonders das mit dem emulieren.

Ich möchte nämlich nur ein Programm schreiben, das es mir alle Zahlen im 16 stelligen Bereich nur aufschreibt (nix rechnet oder ähnliches)
Dennka ist offline   Mit Zitat antworten
Ungelesen 23.11.09, 22:47   #42
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 454
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Das sieht mehr sehr zu komplex aus, verstehe da kaum was, besonders das mit dem emulieren.
in dem fall kurz und knapp: vergiss es. 2^32 ist und bleibt deine magische grenze. vorerst jedenfalls
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 18.12.09, 19:29   #43
Dennka
Hat eine Nase
 
Registriert seit: Oct 2008
Beiträge: 314
Bedankt: 115
Dennka ist noch neu hier! | 0 Respekt Punkte
Standard

Also das mit der Fakultät hab ich hinbekommen, versteh aber imme rnoch nicht wie er es dadurch so hohe Zahlen ausgeben kann. Aber hat sich erledigt

urga den Code für die änderung der Farbe der Schrift ist sehr komplex. Ich hab da einen leichteren gefunden:

Code:
[...]

system("color 2");  //Zahl Variiert^^

[...]
Dennka ist offline   Mit Zitat antworten
Ungelesen 04.01.10, 08:31   #44
christophkrner
Erfahrener Newbie
 
Registriert seit: Oct 2009
Beiträge: 112
Bedankt: 22
christophkrner ist noch neu hier! | 0 Respekt Punkte
Standard

also ich finde programmiereren immer am schönsten, wenn man wie beim "programmieren" von Adobe Dreamweaver wenig selber machen muss und es schon viele Einstellungsmöglichkeiten gibt.

So spare ich mir Nerven, und Zeit. Und es ist entspannend. Sonst wenn ich nur den Editor oder auch Notepad öffne, und zu programmieren anfang, bin ich nach kurzer Zeit schon genervt warum irgendwas nicht funktioniert.

Und in VB finde ich die Einfachheit so schön.
christophkrner ist offline   Mit Zitat antworten
Ungelesen 06.01.10, 01:46   #45
Banghard
Newbie
 
Registriert seit: Jun 2009
Beiträge: 74
Bedankt: 26
Banghard ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von urga Beitrag anzeigen
2^32 == 4294967296
das ist eine 10-stellige zahl...

falls du ein 64-bit system hast:
2^64 == 8589934592 immer noch 10-stellig.
mehr gibt dein prozessor jedenfalls für native typen (int, long, long long) einfach nicht her.
wenn du mehr stellen willst musst du das emulieren. siehe n! thread.
Erstens ist das komplett falsch gerechnet. 2^64 ist nicht das Doppelte von 2^32

Das richtige Ergebnis ist natürlich 18446744073709551616.

Ich glaube du bringst da sowieso ein paar Sachen durcheinander. Du berechnest über die Busbreite vom Adressbus die Anzahl der möglichen Byte, die adressiert werden können. Bei einem 32 Bit System sind das folglich 2^32 mögliche Kombinationen, du kannst also über 4 Milliarden Bytes = 4 Gigabyte damit adressieren. Bei einem 64 Bit System sind es also 2^64 mögliche Bytes, die dir ermöglichen rein theoretisch über 16000 Terabytes an Speicher zu adressieren. Das sind über 16 Milliarden Gigabytes.

Deine Rechnungen haben grundsätzlich erstmal nichts mit der Größe von Datentypen zu tun. Ein Char ist 8 Bit groß, belegt also eine Speicheradresse. Ein normales Int ist 32bit groß, belegt also schonmal vier Adressen. Und ein Long ist 64bit = 8 Adressen = 8 Bytes groß und ermöglicht dir wie schon beschrieben bis zu 18446744073709551616 zu rechnen.

@Dennka

Selbstverständlich kannst du mit einem unsigned long mit deinen 16stelligen Zahlen rumrechnen.
Banghard ist offline   Mit Zitat antworten
Ungelesen 06.01.10, 05:58   #46
gosha16
Banned
 
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 825
Bedankt: 640
gosha16 ist noch neu hier! | 0 Respekt Punkte
Standard

ein int ist nicht immer 32 bit lang. das kommt aufs system an. lediglich bei char kann man von einer festen größe ausgehen.
gosha16 ist offline   Mit Zitat antworten
Ungelesen 06.01.10, 07:33   #47
Banghard
Newbie
 
Registriert seit: Jun 2009
Beiträge: 74
Bedankt: 26
Banghard ist noch neu hier! | 0 Respekt Punkte
Standard

Ja, da hast du Recht. Es kommt auch auf die verwendete Hochsprache wiederum an. Ich meinte das auch eher als Rechenbeispiel.
Banghard ist offline   Mit Zitat antworten
Ungelesen 06.01.10, 13:51   #48
gosha16
Banned
 
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 825
Bedankt: 640
gosha16 ist noch neu hier! | 0 Respekt Punkte
Standard

Es kommt auf nicht auf die Sprache sondern auf das System (bzw die zugrunde liegende Architektur) an.
gosha16 ist offline   Mit Zitat antworten
Ungelesen 06.01.10, 15:45   #49
Banghard
Newbie
 
Registriert seit: Jun 2009
Beiträge: 74
Bedankt: 26
Banghard ist noch neu hier! | 0 Respekt Punkte
Standard

Natürlich kommt es auch auf die Hochsprache an. Auf Hardwareebene werden vom CPU bestimmte integrale Datentypen unterstützt. In manchen Hochsprachen ist man aber wesentlich flexibler, denn dort werden Vielfache des Hardwaremaximums unterstützt. C/C++ bietet zum Beispiel auch die Möglichkeit int von 8 - 64 Bit Größe zu deklarieren.

Die Größe der deklarierbaren Variablen richtet sich also nach System UND verwendeter Hochsprache.
Banghard ist offline   Mit Zitat antworten
Ungelesen 06.01.10, 18:45   #50
gosha16
Banned
 
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 825
Bedankt: 640
gosha16 ist noch neu hier! | 0 Respekt Punkte
Standard

Das sind aber Komplexe Datentypen die aus mehreren Grunddatentypen bestehen, in C++ z.B. struct, class, und enum. Das ist schön das ich 4 Ints aneinandereihen kann. Int an sich ist und bleibt 32 Bit auf nem 32 Bit System. Das aber bei rechnungen mit diesen zusammengesetzten Datentypen ganz anders gearbeitet wird solltest du auch beachten.
gosha16 ist offline   Mit Zitat antworten
Ungelesen 06.01.10, 21:43   #51
Banghard
Newbie
 
Registriert seit: Jun 2009
Beiträge: 74
Bedankt: 26
Banghard ist noch neu hier! | 0 Respekt Punkte
Standard

So wie du das beschreibst, ist es natürlicher völliger Nonsens. Aber bleib ruhig bei deiner Annahme, ich hab auch nicht die Zeit hier stundenlang "Nachhilfe" zu leisten.

Ansonsten einfach mal hinsichtlich 32/64bit Architekturen einlesen und vor allem zu den Unterschieden zwischen integralen und komplexen Datentypen.
Banghard ist offline   Mit Zitat antworten
Ungelesen 06.01.10, 22:02   #52
gosha16
Banned
 
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 825
Bedankt: 640
gosha16 ist noch neu hier! | 0 Respekt Punkte
Standard

erklärs doch wenn du 's besser weißt.
gosha16 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 Uhr.


Sitemap

().