PHP Basics 04: Τύποι Δεδομένων

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27621
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από cordis » 13 Νοέμ 2005 18:40

αν και εκτός θέματος το συνεχίζω γιατί αυτό που συζητάμε είναι βασικό για τον προγραμματισμό και χαίρομαι που μου δίνεις αυτήν την ευκαιρία. ;)

πολύ σωστό αυτό που έγραψες.

Κάθε ψηφίο από αυτά που αποτελούν έναν binary (δυαδικό) αριθμό ονομάζετε bit.
Μια ομάδα από 8 bit μας κάνουν ένα Byte.
Οπότε ναι, αν θέλεις να φτιάξεις ένα ολοκληρωμένο Byte θα πρέπει να γεμίσεις την αρχή με 0 ώστε να έχεις μια ομάδα από 8 bit.

το τέσσερα (4) δηλαδή σε μια θέση μνήμης του 1 Byte θα απεικονίζεται ως δυαδικό 00000100.

Καταλαβαίνεις ότι ο μεγαλύτερος αριθμός που μπορούμε να απεικονίσουμε σε ένα bit είναι το ένα (1). Αντίστοιχα σε ένα Byte (8 bit) ο μεγαλύτερος αριθμός που μπορούμε να απεικονίσουμε είναι το 255 (δυαδικό 11111111) και αυτό χωρίς να αφήνουμε περιθώριο για δεκαδικά ή πρόσημο. Για αυτόν τον λόγο και κάθε μεταβλητή (θα τις δούμε στο επόμενο μάθημα) 'κρατάει' στην μνήμη μια ομάδα από Bytes ανάλογα με τον τύπο και το μέγεθός της.

Και έτσι έχουμε και τα μεγέθη που χαρακτηρίζουν χώρο μνήμης στους υπολογιστές είτε αυτός είναι μνήμη RAM/ROM είτε αποθηκευτικός HD, CD, DVD, etc.

1 kB = 2^10 Bytes = 1024 Bytes
1 mB = 2^10 kB = 2^20 Bytes = 1048576 Bytes
1 gB = 2^10 mB = 2^20 kB = 2^30 Bytes
1 tB = 2^10 gB = 2^20 mB = 2^30 kB = 2^40 Bytes


περισσότερα:
http://www.edu.physics.uoc.gr/~ph150/source/4.html
Τελευταία επεξεργασία από το μέλος cordis την 13 Νοέμ 2005 21:40, έχει επεξεργασθεί 1 φορά συνολικά.
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από mrpc » 13 Νοέμ 2005 18:43

Απαντήσαμε σχεδόν ταυτόχρονα :p

Άβαταρ μέλους
cdhyper
Literature Moderator
Δημοσιεύσεις: 9707
Εγγραφή: 23 Ιουν 2001 03:00
Τοποθεσία: Φωτονερόπετρα
Επικοινωνία:

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από cdhyper » 13 Νοέμ 2005 18:44

άκυρο. οκ.
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από mrpc » 13 Νοέμ 2005 18:45

Βασικά 1 kB = 1024 bytes
1 mB = 1024 kB
1 gB = 1024 mB
1 tB = 1024 gB

anatoli
Δημοσιεύσεις: 54
Εγγραφή: 27 Σεπ 2005 20:04
Τοποθεσία: Greece

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από anatoli » 20 Νοέμ 2005 02:34

PhP ελπίζω να μάθω εδώ μαζί σας...Αλλα για μετατροπές μπορώ να πώ τα παρακάτω.Σωστοί οι παραπάνω τρόποι αλλα για να δούμε τί γίνεται αν οι αριθμοί εχουν δεκαδικό και κλασματικό μέρος....
Για την μετατροπή ακολουθούμε τα παρακάτω

1. Χωρίζουμε τα δύο μέρη του αριθμού σε κλασματικό και ακέραιο.

2. Διαιρούμε το ακέραιο μέρος με τη βάση του νέου συστήματος και πολλαπλασιάζουμε το κλασματικό με τη βάση του νέου συστήματος.

π.χ Το 67,375 στο αντίστοιχο δυαδικό...

67:2->1(το υπόλοιπο της διαίρεσης) LSB
33:2->1
16:2->0
8:2->0
4:2->0
2:2->0
1:2->1MSB

To MSB είναι το περισσότερο σημαντικό ψηφίο και το LSB το λιγότερο άρα ο αριθμός γράφεται 67=1000011

πάμε για το δεκαδικό μέρος του αριθμού....

0.375*2->0,75*2->1,500*2->1,000

Εδώ το MSB που θα γραφεί πρώτο είναι το 0 απο το 0,75 και το LSB που θα γραφεί τελευταίο είναι το 1 απο το 1,000

Άρα το 0,375=011 σε δυαδικό.

Συνεπώς ολόκληρος ο αριθμός 67,375=1000011,011 σε δυαδικό

Ελπίζω να το καταλάβατε. Αν κάποιος έχει διαφορετική άποψη να τη δούμε γιατί εγώ αυτή έμαθα στη σχολή.

Αν χρειαστει θα παραθέσω και άλλο παραδειγμα. Αν υπάρχει λάθος διορθώστε με.

Ανατολή
Εικόνα

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από dva_dev » 20 Νοέμ 2005 09:30

Σχετικά με τα Kilobytes, Megabytes, έχω την εντύπωση πως παίζει μια εμπορική απάτη από τις εταιρίες. Ενώ μεν τα ???Bytes ορίζονται στο δυαδικό σύστημα και προφανώς θα έπρεπε να είναι 2^Ν bytes οι περισσότερες εταιρίες για να μην πω όλες, όταν πουλάνε προϊόντα τότε το MByte, GB, ... το ορίζουν χρησιμοποιώντας το δεκαδικό σύστημα:
1ΜΒ = 1000 KBytes.
1GB = 1000 MBytes.
Τι παίζει; Αγοράζεις δίσκο π.χ. 200GB και ουσιαστικά αυτό που παίρνεις είναι μικρότερο (περίπου 195 GB, ήδη 5 GB εξανεμίστηκαν χωρίς να το πάρει κανένας χαμπάρι). Αντε να τον φορμάρεις κιόλας, να δεις πόσο θα σου μείνει.

anatoli
Δημοσιεύσεις: 54
Εγγραφή: 27 Σεπ 2005 20:04
Τοποθεσία: Greece

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από anatoli » 20 Νοέμ 2005 19:28

Φίλε dva_dev, (αν και είμαστε εκτός θέματος-Συγνώμη στον admin :D )δεν είναι ακριβώς θέμα απάτης. Όσοι είναι στο χώρο της πληροφορικής γνωρίζουν γενικά οτι αυτό γινεται για λόγους ευχριστίας των αριθμών και ευκολίας. Τα 1024 είναι περίπου 1000. Ακόμη και σε επιστημονικό επίπεδο αυτό είναι αποδεκτό όταν μιλάμε για πολύ μεγάλα νούμερα.Είναι δύσκολο να εξηγήσεις έναν απλό χρήστη το δυαδικό και τί παίζει με τα bits και ta bytes...Όταν ασχοληθεί κάποια στιγμή θα καταλάβει. :wink:. Άρα τί να κάνει η εταιρεία? Λέει ένα συγκεντρωτικό αριθμο να τελειώνει...
Εικόνα

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από Banavas » 02 Δεκ 2005 19:32

Αν αυτό είναι μάθημα για αρχαρίους εγώ είμαι κινέζος :roll: :o

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27621
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από cordis » 02 Δεκ 2005 22:06

αν δεν είσαι κινέζος εξήγησέ μας τι δεν κατάλαβες στα ελληνικά για να το εξηγήσουμε καλύτερα. ;)
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Inzoy
Δημοσιεύσεις: 23
Εγγραφή: 17 Μαρ 2004 17:01

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από Inzoy » 06 Δεκ 2005 21:06

πάντως σχετικά με τα binary μπορείτε (για μικρούς αριθμούς) να τα μετράτε και με τα δάχτυλα..

Πως γίνετε αυτό; κρατώντας τις παλάμες προς το πρόσωπο με τα δάχτυλα κλειστά έχουμε 0000000000 (ο αριθμός 0) ενω όταν τα δάχτυλα είναι τεντωμένα είναι 1111111111 (ο αριθμός 1023). Αν απο το 0 αρχίσουμε να ανοίγουμε δάχτυλα απο τα δεξιά προς τα αριστερά με τον εξή τρόπο:[ σαν μια μπίλια να ξεκινάει απο τον δεξί αντίχειρα ανα αριθμό.. αλλά κλείνει τα προηγούμενα, δηλαδή το 0 = 0, 1 = 1, 2 = 10, 3 = 11 (στο 4 θα κλείσει τα απο πίσω και θα πάει στην επόμενη κενή θέση) 4 = 100 κ.ο.κ.] μπορούμε να μετρήσουμε μέχρι και το 1023 μόνο στα δάχτυλα του χεριού. Επίσης για πιο γρήγορα κάθε δάχτυλο μόνο του είναι το προηγούμενο επι 2. Δηλαδή 1 x 2 = 2 [0000000010], 2 x 2 = 4 [0000000100] ... 256 x 2 = 512 [1000000000].

Πιστεύω να καταλάβατε κάτι. Μπορεί να βρώ και ένα flashακι που έχω κάπου εδώ γύρω με αυτό (αν το βρώ θα το ποστάρω(!)).
Πάντως αυτό καταργεί το "μετρημένοι στα δάχτυλα"!! :P :D

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από dimitrisdamo » 19 Μάιος 2010 14:26

ειπα να ποσταρω αυτο γιατι το βρηκα χρησιμο ...

http://techtips.gr/how-to-tricks-tips/1 ... antistrofa

τσεκαρετε

mikrosfoititis
Δημοσιεύσεις: 1
Εγγραφή: 09 Ιούλ 2010 17:41
Τοποθεσία: Athens

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από mikrosfoititis » 09 Ιούλ 2010 17:43

Εμένα θα μου πέσουν τα μαλλιά σε λίγο με κάποια απ' αυτά που διαβάζω!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

PHP Basics 04: Τύποι Δεδομένων

Δημοσίευση από dva_dev » 09 Ιούλ 2010 18:40

Αν έχεις δει κάτι λάθος γιατί δεν αναφέρεις τι είναι λάθος και πως είναι το σωστό; Να μάθουμε και κάτι, εκτός και αν προτιμάς να κρατήσεις τη γνώση για τον εαυτό σου...

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης