Εμφάνιση αποτελεσμάτων : 1 έως 6 από 6

Θέμα: Ακρίβεια σε float & CodeVisionAVR

  1. #1
    Μέλος Το avatar του χρήστη Hary Dee
    Όνομα
    Χαράλαμπος
    Εγγραφή
    Jul 2009
    Περιοχή
    Κερατσίνι
    Μηνύματα
    973

    Προεπιλογή Ακρίβεια σε float & CodeVisionAVR

    Καλησπέρα! Ψάχνω να βρω πόση ακρίβεια έχουν τα floats του CodeVisionAVR. Στο help λέει:
    float : Size (Bits)=32 , Range: ±1.175e-38 to ±3.402e38
    Καταλαβαίνω δηλαδή ότι έχουμε 32 bit, αλλά δεν ξέρω αν είναι κατανεμημένα όπως πχ εδώ


    Κυρίως δηλαδή θέλω να μάθω πόσα ψηφία υποστηρίζει το fraction ή mantissa, αλλά αυτό το ±1.175e-38 to ±3.402e38 δεν το πιάνω . 4-5 ψηφία δηλαδή; Δεν παίζει...

    Τίς βούλεται αγορεύειν...

    0 Not allowed! Not allowed!

  2. #2
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Η "ακρίβεια" και το "λάθος" της μεθόδου είναι σχετικά με το ακέραιο τμήμα του αριθμού.
    Διαβάζοντας τη διαδικασία μετατροπής και "παίζοντας" λίγο με "online IEEE754 converter" θα κατανοήσεις τη διαδικασία.

    Παράδειγμα γιά το online converter:
    Πληκτρολόγησε "1" στο πεδίο "Decimal Representation" και πάτα enter
    Παραπάνω θα εμφανιστούν τα "binary/hex representations"
    Αλλαξε το τελευταίο bit σε "1", πάτα enter
    Θα δείς ότι το επόμενο "βήμα ακριβείας" είναι το "1.0000001", άρα 7 δεκαδικά
    Επανέλαβε με τον αριθμό "1000"
    Το αντίστοιχο επόμενο "βήμα ακρίβειας" είναι το "1000.00006" με 5 δεκαδικά,
    αλλά δεν είναι το "1000.00001"

    Στο παράδειγμά τους για το "0.15625" το επόμενο bit είναι "0.15625001" με 8 δεκαδικά.
    Δε σημαίνει όμως ότι είσαι πάντα ακριβείς γιατί "κάτι τρέχει" με τη στρογγυλοποίηση και τα "βήματα ακρίβειας" δεν είναι πάντα τα ίδια.

    G

    0 Not allowed! Not allowed!

  3. Ένα μέλος ευχαρίστησε τον GeorgeVita για αυτό το χρήσιμο μήνυμα:

    Hary Dee (10-01-11)

  4. #3
    Μέλος Το avatar του χρήστη klik
    Όνομα
    just a click away
    Εγγραφή
    Oct 2009
    Περιοχή
    Θεσσαλλλονίκη
    Μηνύματα
    2.563

    Προεπιλογή

    Δες αν σε βολεύει και αυτό

    0 Not allowed! Not allowed!

  5. Ένα μέλος ευχαρίστησε τον klik για αυτό το χρήσιμο μήνυμα:

    Hary Dee (10-01-11)

  6. #4
    Μέλος Το avatar του χρήστη Hary Dee
    Όνομα
    Χαράλαμπος
    Εγγραφή
    Jul 2009
    Περιοχή
    Κερατσίνι
    Μηνύματα
    973

    Προεπιλογή

    Παιδιά () σας ευχαριστώ πάρα πολύ!!! Αρχικά τα link μου φάνηκαν λίγο δυσνόητα (ειδικά του klik), αλλά έπειτα από πολλή δουλειά κατάλαβα ότι ήταν το ένα πιο σούπερ από το άλλο! Νομίζω ότι τα κατάλαβα όλα! Είχα κάνει ένα τεράστιο λάθος... θυμόμουν ότι ισχύει:

    τιμή = sign x mantissa x 10^exponent
    ενώ ισχύει:

    τιμή = sign x mantissa x 2^(exponent-127)

    Τώρα, αυτό που λένε περί κανονικοποιήσεων, ότι δηλαδή αν exponent=0 δεν βάζω "κρυφό" 24o bit μπροστά στην mantissa, υποθέτω ότι συμφωνεί με τον ορισμό
    της wikipedia, απλά θεωρώντας ότι 2^(-127)=0.
    (Σημείωση:Νομίζω ότι το "-i" μετά το b πρέπει να είναι σκέτο "i")

    Και πάλι ευχαριστώ! Δεν έχω λόγια!

    ΥΓ: Και φυσικά περιμένω διορθώσεις στο κομματάκι ενθουσιασμένο μήνυμά μου!

    0 Not allowed! Not allowed!

  7. #5
    Μέλος Το avatar του χρήστη Hary Dee
    Όνομα
    Χαράλαμπος
    Εγγραφή
    Jul 2009
    Περιοχή
    Κερατσίνι
    Μηνύματα
    973

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από Hary Dee Εμφάνιση μηνυμάτων
    Καλησπέρα! Ψάχνω να βρω πόση ακρίβεια έχουν τα floats του CodeVisionAVR. Στο help λέει:
    float : Size (Bits)=32 , Range: ±1.175e-38 to ±3.402e38
    [...]
    αυτό το ±1.175e-38 to ±3.402e38 δεν το πιάνω
    Αυτό τελικά δεν το λύσαμε...

    0 Not allowed! Not allowed!

  8. #6
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Η ακρίβεια πρέπει να είναι των 23 ή 24 bits μιας που τα υπόλοιπα είναι πολλαπλασιαστές, με υποδιαιρέσεις 0.5-0.25-0.125-...
    Περισσότερα ίσως βρεις ψάχνοντας για 'actual precision on IEEE754' (το πρότυπο είναι IEEE754-2008 ).
    Μήπως στην εφαρμογή σου χρειάζεσαι custom διαχείριση των bits για αύξηση της ακρίβειας;
    G

    0 Not allowed! Not allowed!

Παρόμοια Θέματα

  1. Ακρίβεια μετρήσεων
    By lakon1981 in forum Όργανα & Εξοπλισμός
    Απαντήσεις: 6
    Τελευταίο Μήνυμα: 03-08-12, 22:37
  2. Float μεταβλητές σε GCC
    By Thansavv in forum Software Η/Υ
    Απαντήσεις: 8
    Τελευταίο Μήνυμα: 04-08-10, 09:42
  3. AVR-DS1307-CODEVISIONAVR
    By TZOGX in forum Μικροελεγκτές
    Απαντήσεις: 8
    Τελευταίο Μήνυμα: 09-03-10, 23:40
  4. float 32bit τι αριθμός είναι ?
    By DT200 in forum Γενική Συζήτηση
    Απαντήσεις: 13
    Τελευταίο Μήνυμα: 18-07-08, 11:21
  5. Πώς απεικονίζω σε LCD float numbers?
    By QED in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 13-01-05, 17:30

Tags for this Thread

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας