Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 04.01.2003, 11:33 Titel: Eigener Datentyp? |
|
|
Welcher mathematischer Datentyp (wie int, long, etc..)
kann eine bis zu 60 stellige Zahl darstellen?
Zum Beispiel so eine Zahl:
574635942674359435128534976145297648741297354879526326598545
In übersichtlicher Schreibweise:
574.635.942.674.359.435.128.534.976.145.297.648.741.297.354.879.526.326.598.545
sie soll/muss keine Nachkommastellen unterstützen...
Oder gibt es noch nicht so einen Datentyp?
Wie kann ich dann so einen selber erstellen?
Vielen Dank schon Mal für eure Bemühungen!!! ![Smile](images/smiles/icon_smile.gif) _________________ The source of all power is in its destiny... |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Salim Mini JLI'ler
Anmeldedatum: 29.12.2002 Beiträge: 12
Medaillen: Keine
|
Verfasst am: 04.01.2003, 12:27 Titel: Salim |
|
|
Ich glaube nicht, dass es so einen Datentyp gibt. Wie man eine eigene macht weiß ich auch nicht. Ich weiß nur das es richtig viel speicher frisst, so ein langes ...
Ich könnte mir aber einige alternativen vorstellen:
Wie wärs wenn du mit char ein Feld machst? char* Zahl[60];
Wie wärs wenn du dir eine struktur machst.
struct Zahl
{
short Ziffern1bis5;
short Ziffern6bis11;
...
} _________________ A.Salim Doost
www.asdnet.de
Es gibt immer einen besseren ![Wink](images/smiles/icon_wink.gif) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
gl_echse JLI'ler
![](http://glechse.km0807.kasserver.com/burn.gif)
Anmeldedatum: 01.01.2003 Beiträge: 105
Medaillen: Keine
|
Verfasst am: 04.01.2003, 12:39 Titel: |
|
|
Du kannst ja ne klasse machen die immer 3 ziffern in nen int-vector bereich speichert und dann ne ausgabefunktion die dazwischen immer n . mit ausgibt (dann string als rückgabe) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 04.01.2003, 13:01 Titel: |
|
|
Das wäre alles zu umständlich atoi, etc.. zu verwenden ich muss mit der ganzen Zahl Diffisionen, Modulationen und zuletzt Additionen durchführen können...
Ach und im gesamten Programm brauche ich da so schötze ich Mal... 20 Stück und es kommen nicht wesentlich mehr andere Variablen drin vor ![Smile](images/smiles/icon_smile.gif) _________________ The source of all power is in its destiny... |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Jörg JLI MVP
![JLI MVP JLI MVP](http://www.jliforum.de/images/mvp.gif)
![](http://mitglied.tripod.de/messiahzone/jesus/kiste.gif)
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 04.01.2003, 13:22 Titel: |
|
|
double sollte eigentlich funktionieren, der Wertebereich ist von 2,22507e-308 bis 1,79769e308 (also bis 308 Vorkommastellen (wenn ich das nicht falsch verstanden habe)). Hat zwar Nachkommastellen, das dürfte aber nicht stören. (Angaben ohne Gewähr) _________________ www.messiahzone.de.vu |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 04.01.2003, 21:10 Titel: |
|
|
Nein bei double könnte man von der Zahl nur die ersten 19 Zeichen eingeben:
5746359426743594351
5.746.359.426.743.594.351
Hat sonst noch jemand Ideen? _________________ The source of all power is in its destiny... |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Hazel JLI MVP
![JLI MVP JLI MVP](http://www.jliforum.de/images/mvp.gif)
![](http://farm4.static.flickr.com/3096/2631167487_7389a786a5_o.jpg)
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 04.01.2003, 22:05 Titel: |
|
|
Eine Frage: Wofür brauchst du das? Wenn du den Zweck sagen würdest könnte man sich eventuell Alternativen überlegen. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Sören JLI Master Trainee
![](http://home.arcor.de/boxcarblink/pics/blinkysm.gif)
Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 04.01.2003, 22:15 Titel: |
|
|
Mir würde nur DWORD einfallen, ist zwar 32Bit allerdings wohl immer noch nicht lang genug! Du könntest vielleicht die Zahl auf mehrere ints,dwords usw. verteilen! Wie Hazel bereits sagte, wäre nicht schlecht, wenn du sagen würdest, was du vor hast! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Hazel JLI MVP
![JLI MVP JLI MVP](http://www.jliforum.de/images/mvp.gif)
![](http://farm4.static.flickr.com/3096/2631167487_7389a786a5_o.jpg)
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 04.01.2003, 22:35 Titel: |
|
|
ich weiß nicht ob es geht, aber probier mal __int64 _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
AFE-GmdG JLI MVP
![JLI MVP JLI MVP](http://www.jliforum.de/images/mvp.gif)
![](http://jliforum.de/afe-gmdg/anthill.png)
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 05.01.2003, 10:04 Titel: |
|
|
Der Datentyp __int64 ist zwar schon richtig, aber wahrscheinlich noch nicht lang genug. Sucht mal nach BigInteger-Bibliotheken im Internet - da gibt es einige freie varianten, auch für Windows...
In c# gibt es noch den Datentyp Decimal - der kann sowas auch, aber den gibt es nicht in c++...
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 05.01.2003, 13:18 Titel: |
|
|
Ja ich wollte auch grade Decimal erwähnen...128Bit ...wäre aber immer noch etwas zu wenig...
double ist doch schon 64Bit?
Das Programm soll alle Primzahlen bis auf eine 60 stellige Zahl herausfinden und abspeichern, dazu alle Vollkommene Zahlen und zum Schluss noch die befreundete Zahlen.
Weiß jeder was damit gemeint ist, oder soll ich es doch lieber erklären?
Ich glaube nicht, dass es da für eine andere gute Lösung außer einen geigneten Datentyp... ![Sad](images/smiles/icon_sad.gif) _________________ The source of all power is in its destiny... |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
AFE-GmdG JLI MVP
![JLI MVP JLI MVP](http://www.jliforum.de/images/mvp.gif)
![](http://jliforum.de/afe-gmdg/anthill.png)
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 05.01.2003, 19:07 Titel: |
|
|
Double ist nicht 64 bit - sondern 80 bit breit. Die Darstellungsweise ist allerdings anders, als bei Integer, es handelt sich ja um Fließpunktzahlen.
OK - was eine Primzahl ist, weiss wohl jeder, aber was zum Teufel sind vollkommene oder befreundete Zahlen?
Für dieses Problem eignet sich am besten eine der zahlreichen BigInteger-Datentypen, ich werde bei gelegenheit mal eine passende Bibliothek suchen, wenn mir nicht jemand zuvorkommt, da ich gerade nicht so viel Internetzeit hab.
Bis Bald, AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
gl_echse JLI'ler
![](http://glechse.km0807.kasserver.com/burn.gif)
Anmeldedatum: 01.01.2003 Beiträge: 105
Medaillen: Keine
|
Verfasst am: 05.01.2003, 19:14 Titel: |
|
|
Schpeicher dass doch hexadezimal in nen string oder in ne chararray.
Zum rechnen kannste ja die anderen zahlen au un das hexadezimale umrechnen. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
VerruecktesHuhn Super JLI'ler
![](http://avatarpage.rapidforum.com/coma1/5.jpg)
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 05.01.2003, 19:26 Titel: |
|
|
@Afe: Ich glaubg nich das hier jeder weiß was ne Primzahl is ![Wink](images/smiles/icon_wink.gif) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
gl_echse JLI'ler
![](http://glechse.km0807.kasserver.com/burn.gif)
Anmeldedatum: 01.01.2003 Beiträge: 105
Medaillen: Keine
|
Verfasst am: 05.01.2003, 19:34 Titel: |
|
|
Stimmt du wohl nicht |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
|