Ανάμεσα σε ακέραιες τιμές , ο τελεστής της δυναμης (^) γιατί δε βγάζει ακέραιο αποτέλεσμα;
https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τελεστές/ (https://alkisg.mysch.gr/%CE%93%CE%9B%CE%A9%CE%A3%CE%A3%CE%91/%CE%A4%CE%B5%CE%BB%CE%B5%CF%83%CF%84%CE%AD%CF%82/)
MM;(//)
Το Υ πρέπει να δηλωθεί σαν πραγματική μεταβλητή. Αν Χ < 0 ....
Παράθεση από: ikariofil στις 11 Δεκ 2019, 04:22:57 ΜΜ
Το Υ πρέπει να δηλωθεί σαν πραγματική μεταβλητή. Αν Χ < 0 ....
Ωωω!!! Ευχαριστώ .
Παράθεση από: alkisg στις 11 Δεκ 2019, 04:08:23 ΜΜ
https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τελεστές/ (https://alkisg.mysch.gr/%CE%93%CE%9B%CE%A9%CE%A3%CE%A3%CE%91/%CE%A4%CE%B5%CE%BB%CE%B5%CF%83%CF%84%CE%AD%CF%82/)
Δε θυμάμαι αλλά κάπου είχα δει να δουλεύει αυτό. Μάλλον σε pascal. Επίσης η pow(a,b) στη. C και c++ δουλεύει κανονικά. Αυτό σημαίνει ότι είναι υπερφορτωμενη;
Εννοούσα αυτές τις γραμμές:
Παράθεση από: https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τελεστές/
^ (δύναμη): ισχύει για τους ακέραιους και τους πραγματικούς. Το αποτέλεσμα είναι συνήθως πραγματικός αριθμός, εκτός αν ο εκθέτης είναι θετικός ακέραιος σταθερής αποτίμησης. Για παράδειγμα το 2^2 είναι ακέραιος, ενώ το 2^-2 πραγματικός (= 0.25). Έτσι στην γενική περίπτωση το 2^ι εκλαμβάνεται σαν πραγματικός αριθμός.
Δηλαδή η δύναμη δύο ακεραίων είναι πραγματικός αριθμός, όχι ακέραιος. Για παράδειγμα, το 2^-2 κάνει 0.25.
Αντίθετα, η δύναμη δύο φυσικών αριθμών είναι φυσικός αριθμός, αλλά δεν έχουμε τύπο "φυσικός" στη ΓΛΩΣΣΑ, γι' αυτό και η παραπάνω διαφοροποίηση.
Ευχαριστώ πολύ.
Επίσης επειδή δεν γνωρίζω πως γίνεται, είναι δύσκολο να καθορίσουμε ανάλογα με τους τελεσταίους άλλοτε να δουλεύει και άλλοτε όχι; Δηλαδή αν καταλάβει ότι έχει τελεσταίους ακέραιους να βγάζει ακέραιο και αν όχι να βγάζει πραγματικό;
Σε επίπεδο διερμηνευτή μιλάω πάντα!
Εννοείς αν έχει τελεστέους φυσικούς αριθμούς; Όχι δεν υπάρχει ΦΥΣΙΚΟΣ τύπος δεδομένων στη ΓΛΩΣΣΑ.
Αν έχει τελεστέους ακεραίους, τότε το αποτέλεσμα είναι πραγματικός.
Τέλος, αν θες μετατρέψεις το αποτέλεσμα σε ακέραιο, μπορείς να βάλεις Α_Μ(α^β).
Είναι αντίστοιχο με το 4/2, το οποίο είναι πραγματικός 2.0 και όχι ακέραιος 2.