tsialiam Δημοσ. 19 Ιουλίου 2006 Δημοσ. 19 Ιουλίου 2006 O arithmos einai akeraios, thetikos kai me polla psifia ( 100 - 200 psifia ) . unsigned long int ? Yparxei kamia selida na to koitaksw auto?
Crawl_From_Death Δημοσ. 19 Ιουλίου 2006 Δημοσ. 19 Ιουλίου 2006 Δυστυχώς βρήκα κάτι σε .NET αλλά η λογική φαντάζομαι είναι περίπου η ίδια. Για ρίξε μια ματιά εδώ
chiossif Δημοσ. 19 Ιουλίου 2006 Δημοσ. 19 Ιουλίου 2006 Εφοσον θέλεις και τα 200 (πχ) ψηφία ΣΗΜΑΝΤΙΚΑ (δηλαδή να εκτελούνται ακριβείς πράξεις) νομίζω ότι είσαι ΥΠΟΧΡΕΩΜΕΝΟΣ να καταφύγεις σε βιβλιοθήκη συναρτήσεων με αποθήκευση μεγάλων ακεραίων σε πίνακες ψηφίων. Παλαιότερα (πάνε 10 χρόνια) είχα φτιάξει μια τέτοια βιβλιοθήκη με πίνακα χαρακτήρων σε 256-δική βάση αλλά είχα υλοποιήσει ως πράξεις μόνο πρόσθεση και πολ/μο. ΣΙΓΟΥΡΑ υπάρχουν βιβλιοθήκες στο δίκτυο με τέτοια και καλύτερα στοιχεία αλλά για να διαλέξεις την καλύτερη ΘΑ ΠΡΕΠΕΙ να ξέρεις τι θέλεις να κάνεις: 1. Τι πράξεις θα εκτελείς με αυτούς τους αριθμούς; 2. Από που έρχονται και προς τα που θέλεις να πάνε; (Εισοδος, Εξοδος, ενδιάμεσα αποτελέσματα, αρχεία) 3. Ποιές θα είναι οι μελοντικές απαιτήσεις σου αν θεωρήσεις ότι έχεις τώρα μια λύση; Ελπίζω να βοήθησα μέσω του προβληματισμού...
chiossif Δημοσ. 19 Ιουλίου 2006 Δημοσ. 19 Ιουλίου 2006 Στην C++ βρήκα (σχετικά εύκολα) αυτό: http://www.rossi.com/sqr2.htm Αν βρεις κάτι σε C ενημέρωσέ μας...
bird Δημοσ. 19 Ιουλίου 2006 Δημοσ. 19 Ιουλίου 2006 Σίγουρα υπάρχει βιβλιοθήκη στη C για πολύ μεγάλους αριθμούς, γιατί πρίν μερικά χρόνια ένας καθηγητής είχε βάλει μία εργασία για να φτιάξουν τα παιδιά το interface αυτής της βιβλιοθήκης. (νομίζω GNU) edit: Πάντως η διαχείρηση των αριθμών γινόταν μέσω string όπως λέει και ό chiossif Και πιθανών να ήταν οι συναρτήσεις αυτές...
dop Δημοσ. 19 Ιουλίου 2006 Δημοσ. 19 Ιουλίου 2006 Αν θέλεις να κάνεις κάτι τέτοιο πρέπει να έχεις υπόψην σου τα εξής: Κοίταξε αν μπορείς πρώτα να χρησιμοποιήσεις κάτι έτοιμο αν επιτρέπεται. Ειδάλλως, αποφάσισε τι θέλεις να υποστηρίξεις. 1. η πρόσθεση και η αφαίρεση είναι σχετικά εύκολα: μπορείς εύκολα να βρεις πότε γίνεται overflow/underflow και να κάνεις αντίστοιχα την υλοποίησή σου. 2. ο πολλαπλασιασμός απαιτεί κάποιους πιο έξυπνους αλγορίθμους Tέλος, διάβασε το εξής: http://numbers.computation.free.fr/Constants/Algorithms/representation.html Βιβλιοθήκες: http://www.swox.com/gmp/ http://shoup.net/ntl/ http://www.oonumerics.org/ http://sourceforge.net/projects/muntl/ http://www.kepreon.com/~matt/bigint/index.html https://sourceforge.net/projects/cpp-bigint/ Σημ: πολλά είναι σε C++, αλλά με ελάχιστο κόπο μπορείς να τα μεταφέρεις στην C.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.