### 1.9.1 Αποτίμηση πραγματικού αριθμού με αριθμητική ακρίβεια

: evalf Digits, DIGITS

- Ένας πραγματικός αριθμός είναι ένας ακριβής αριθμός και η αριθμητική του αναπαράσταση σε δεδομένη ακρίβεια είναι ένας αριθμός κινητής υποδιαστολής που αναπαρίσταται με βάση το 2.
  Η ακρίβεια ενός αριθμού κινητής υποδιαστολής είναι ο αριθμός των δυαδικών ψηφίων ( bits) της μαντίσα, και ο οποίος είναι τουλάχιστον 53 (Οι αριθμοί κινητής υποδιαστολής, είναι επίσης γνωστοί και ως double). Οι αριθμοί κινητής υποδιαστολής γράφονται στο δεκαδικό σύστημα με έναν αριθμό ψηφίων που ελέγχεται από τον χρήστη είτε αλλάζοντας την τιμή στην μεταβλητή Digits είτε τροποποιώντας τις Ρυθμίσεις Cas. Από προεπιλογή Digits είναι 12. Ο αριθμός των ψηφίων που εμφανίζονται ελέγχουν τον αριθμό των δυαδικών ψηφίων ( bits) της μαντίσα, εάν τα ψηφία είναι μικρότερα από 15, 53 bits χρησιμοποιούνται, εάν τα ψηφία είναι αυστηρώς μεγαλύτερα από 15, ο αριθμός των bits στρογγυλοποιείται προς το γινόμενο Digits επί τον log 10 στην δυαδική βάση.
- Μια παράσταση μετατρέπεται σε έναν αριθμό κινητής υποδιαστολής με την εντολή evalf. Η εντολή evalf μπορεί να έχει ένα προαιρετικό δεύτερο όρισμα το οποίο θα χρησιμοποιηθεί για την αποτίμηση με συγκεκριμένη ακρίβεια.
- Σημειώστε ότι αν μια παράσταση περιέχει έναν αριθμό κινητής υποδιαστολής, θα προσπαθήσει να μετατρέψει και τα άλλα ορίσματα σε αριθμούς κινητής υποδιαστολής, ώστε να αναγκάσει ολόκληρη την παράσταση να γίνει ένας ενιαίος αριθμό κινητής υποδιαστολής.

Είσοδος :

1+1/2

Έξοδος :

3/2

Είσοδος :

1.0+1/2

Έξοδος :

1.5

Είσοδος :

exp(pi*sqrt(20))

Έξοδος :

exp(pi*2*sqrt(5))

Με την evalf, είσοδος : :

evalf(exp(pi*2*sqrt(5)))

Έξοδος :

1263794.75367

Είσοδος :

1.1`^`20

Έξοδος :

6.72749994933

Είσοδος :

sqrt(2)`^`21

Έξοδος :

sqrt(2)*2`^`10

Είσοδος για ένα αποτέλεσμα με 30 ψηφία :

Digits:=30

Είσοδος για την αριθμητική τιμή του eπ√163:

evalf(exp(pi*sqrt(163)))

Έξοδος :

0.262537412640768743999999999985e18

Σημειώστε ότι τα Digits είναι τώρα 30. Εάν δεν θέλετε να αλλάξετε την τιμή των Digits μπορείτε να βάλλετε ως είσοδο

evalf(exp(pi*sqrt(163)),30)