Μεταβλητές 101: Γνωρίζοντας τον υπολογιστή σας

Δυστυχώς, έχω δει ότι πολλοί δεν θέλουν να μάθουν να προγραμματίζουν αυτό το 2018 🙁 αλλά ακόμα κι αν είχα διαβάσει μόνο το δικό μου προηγούμενο άρθρο ένα άτομο και μετά από λίγο χρόνο μπορεί να στείλει μια δέσμευση σε ένα έργο ελεύθερου λογισμικού, θα ήμουν ικανοποιημένος με τη δουλειά μου 🙂

Για όσους αγαπούν την ασφάλεια, σας υπόσχομαι ότι τα ακόλουθα θα είναι μια ανάρτηση σχετικά με τα todos ασφαλείας, ώστε όλοι να είναι ευχαριστημένοι, αν κάποιος θέλει να μάθει κάτι άλλο (όπως git, διαχείριση διακομιστή ή δεν ξέρω: p) ή σχολιάστε κάποιο άλλο θέμα που δεν μπορεί να απαντηθεί με απλό τρόπο στο πλαίσιο σχολίων, επιτρέψτε μου να ξέρω και βλέπουμε πώς μπορούμε να το δουλέψουμε 😉

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

bits

Νομίζω ότι αυτό είναι ένα θέμα που αγγίζω πάντα όταν γράφω για τον προγραμματισμό, είναι σίγουρα κάτι που με συναρπάζει και που με βοήθησε να καταλάβω πολλά πράγματα, τώρα θα προσπαθήσω να εξηγήσω λίγο πώς είναι, πώς διαβάζονται και για τι χρησιμεύουν 🙂

Σκεφτείτε έναν διακόπτη φωτός, όταν το κύκλωμα είναι κλειστό, έχουμε ένα 0 στην οθόνη, όταν αλλάζουμε τη θέση του διακόπτη, επειδή a 1🙂 απλό δεν είναι;

Τώρα α 0 και ένα 1 μπορούν να σημαίνουν πολλά πράγματα, όλα εξαρτώνται από τη δημιουργικότητα με την οποία το παίρνετε, ας υποθέσουμε ότι θέλω να ξέρω αν κάποιος πηγαίνει στο Βορρά ή στο Νότο, 1 μπορεί να σημαίνει βόρεια και 0, ας πούμε ότι θέλω να ξέρω αν κάποιος είναι άντρας ή γυναίκα, 1 μπορεί να είναι ένας άντρας και 0, γυναίκα 🙂. Τώρα θέλω να μάθω αν αυτό το άτομο είναι νεαρό ή μεγαλύτερο (> 22), 0 μπορεί να σημαίνει νέους και 1, πιο ψηλά. Ας συνεχίσουμε να φανταζόμαστε… Έχετε κατοικίδια; 1 Θα έλεγα ναι, ενώ 0 Θα έλεγα όχι Τώρα θέλω να διαβάσετε την ακόλουθη γραμμή μαζί μου:

1001

Αυτός είναι ο σύντομος τρόπος να πούμε ...

Una jóven mujer de no más de 22 años se dirige al norte acompañada de su mascota.

που είναι πολύ διαφορετικό από:

0110 o Un hombre con más de 22 años de edad se dirige solo hacia el sur.

Bytes

Τώρα ας προχωρήσουμε ένα βήμα παραπέρα, ας μάθουμε πώς να διαβάζουμε bytes. Ένα byte είναι η ακολουθία των 8 bit, τα οποία διαβάζονται από δεξιά προς τα αριστερά και το καθένα 1 αντιπροσωπεύει μια δύναμη του 2 έθεσε στο n όπου n είναι η θέση bit. Όπως ακούγεται σαν κινέζικο, ας δώσουμε ένα μικρό παράδειγμα 🙂

01001011 Έχουμε αυτό το byte, τώρα θα πάμε από δεξιά προς τα αριστερά (<-) Θα τα βάλω από πάνω προς τα κάτω για να μπορέσω να γράψω το νόημά τους:

1: το κομμάτι όταν βρίσκεται στη θέση του 0 δείχνει ότι έχουμε τα ακόλουθα 2 αυξημένα στο μηδέν ή 2^0. Αυτό το καλά που γνωρίζουμε είναι ισοδύναμο με 1.

1: το δεύτερο bit, τώρα η θέση 12^1 που είναι το ίδιο με το ρητό 2

0: τρίτο bit ... αυτό πρέπει να είναι 2^2, αλλά επειδή δεν είναι ενεργοποιημένο, θα το αφήσουμε 0

1: τέταρτο bit, 2^3 u 8 ????

0: το ίδιο με 0

0: άλλα 0

1: τώρα είμαστε 2^6 o 64

και τελικά 0 , γνωρίζουμε ήδη τι σημαίνει 🙂 τώρα πρόκειται να προσθέσουμε τα αποτελέσματά μας και να τα συγκρίνουμε με τον ακόλουθο πίνακα 🙂 Έχουμε ένα 75 οπότε ας το αναζητήσουμε στη στήλη Δεκαδικός και θα δούμε τι εμφανίζεται Char

Αποτέλεσμα εικόνας για πίνακα ascii

Έχουμε ένα K!! Συγχαρητήρια, γνωρίζετε ήδη πώς να διαβάσετε σε δυαδικό 🙂 Αλλά οι πιο σαφείς μπορεί να έχουν παρατηρήσει ότι έχουμε επίσης λάβει έναν δεκαδικό αριθμό και ότι έχει ένα όριο (όταν όλες οι τιμές είναι 1) Αυτό το όριο βρίσκεται στον αριθμό 255.

λέξη

Τώρα περισσότερα από ένα θα μου πουν, αλλά τι γίνεται αν χρειάζομαι έναν αριθμό μεγαλύτερο από 255; ή πού μπορώ να βρω άλλους χαρακτήρες όπως οι Ιάπωνες; Λοιπόν η απάντηση είναι απλή, ας βάλουμε μαζί 2 bytes. Τώρα που έχουμε δύο, ο πιθανός αριθμός συνδυασμών που έχουμε είναι 2^16 o 65536 πιθανά αποτελέσματα, όπως 0 είναι ένα από αυτά, το μέγιστο δυνατό είναι 65535. Αυτός ο αριθμός χτυπάει ένα κουδούνι; Θυμάστε τον μέγιστο αριθμό θυρών σε ένα σύστημα Linux; Τους αφήνω την εργασία 😉

Διπλή λέξη και τετραπλή λέξη

Για τα πιο μαθηματικά υπάρχουν επίσης συγκεκριμένες μορφές, διπλή λέξη περιέχουν, όπως πολλοί έχουν ήδη φανταστεί 2 word o 4 bytes (o 32 bits) πληροφοριών, όπως το να λέει:

11111111111111111111111111111111 ή de 0 a 4 294 967 295

Σε αυτό το σημείο πολλοί θα αναρωτηθούν τι συμβαίνει με τους αρνητικούς αριθμούς, δηλαδή, κάπου πρέπει να μελετηθούν, σωστά; Για να είναι σε θέση να αποθηκεύσουν έναν αρνητικό αριθμό, οι προγραμματιστές επεξεργαστών επέλεξαν να καταλάβουν το πρώτο bit στα αριστερά ως τιμή σήματος. Αυτό σημαίνει ότι εάν το πρώτο bit είναι 0 μιλάμε για έναν θετικό αριθμό, αλλά αν είναι 1 έχουμε αρνητικό. Τώρα δείτε γιατί τα κομμάτια είναι τόσο ξεχωριστά, μπορούν να είναι ό, τι θέλετε 😀

Αλλά αυτό προφανώς μας αφήνει με μια λιγότερη θέση να κάνουμε τον πολλαπλασιασμό! Έτσι μας0 a 4 294 967 295 γίνεται:

-2,147,483,648 a +2,147,483,647

Τώρα, πολλοί από εμάς έχουμε ήδη 64 bits, και αυτή είναι η τιμή ενός τετραπλή λέξη, μπορούμε να έχουμε τιμές που κυμαίνονται από 0 a 18 446 744 073 709 551 615. Αυτός είναι ένας μεγάλος αριθμός 🙂

Γιατί 8 bit;

Αυτό είναι κάτι που αναρωτιούνται περισσότερα από ένα και η απάντηση είναι στο υλικό. Από την αρχή, οι επεξεργαστές χρειάζονταν δεδομένα για να είναι σε θέση να εκτελούν λειτουργίες. Τα δεδομένα αποθηκεύονται στη μνήμη του υπολογιστή και κάθε φορά που το απαιτεί ο επεξεργαστής, χρησιμοποιεί τους διαύλους δεδομένων για να τα πάρει. Στην αρχαιότητα, αυτά τα λεωφορεία μπορούσαν να επικοινωνούν το πολύ 8 bit ανά κύκλο, αυτό σημαίνει ότι ο μέγιστος και πιο αποτελεσματικός τρόπος μεταφοράς δεδομένων, ήταν η ομαδοποίηση 8 bit και η αποστολή τους στον επεξεργαστή.

Με την πάροδο του χρόνου, μέχρι σήμερα, οι επεξεργαστές έχουν αναπτύξει την ικανότητα να μετακινούν 16 bit, 32 bit και… 64 bit.

Τι σχέση έχει με την πληκτρολόγηση;

Βρισκόμαστε τώρα στο σημείο όπου όλα έχουν νόημα 🙂 Η πληκτρολόγηση είναι μια ιδιότητα που χρησιμοποιούν οι γλώσσες προγραμματισμού για να ονομάσουν αυτούς τους χώρους μνήμης. Όλες οι μεταβλητές έχουν την αντίστοιχη σε έναν από αυτούς τους τύπους δεδομένων, ανεξάρτητα από το τι ονομάζονται. Αυτά είναι γνωστά ως πρωτόγονοι τύποι δεδομένωνΚάθε έντονα δακτυλογραφημένη γλώσσα έχει τη σύλληψη αυτών των τιμών και την ποσότητα που αντιπροσωπεύουν. Για παράδειγμα στο C έχουμε τη βιβλιοθήκη limits.h που μας δείχνει τη μέγιστη και ελάχιστη ποσότητα πρωτόγονων τιμών.

Ας δούμε τι θα συμβεί αν προσπαθήσουμε να σπάσουμε μία από τις τιμές:

Τα δικά. Christopher Diaz Riveros

Στα δεξιά έχουμε τις τιμές του αρχείου limits.h και στα αριστερά έχουμε λάβει μία από αυτές τις τιμές (unsigned short int) και έχουμε εκχωρήσει έναν αριθμό υψηλότερο από τον αντίστοιχο. Ως αποτέλεσμα, ο μεταγλωττιστής μας προειδοποιεί ότι κάνουμε κατάχρηση μνήμης επειδή η δυαδική μορφή του 66666 δεν μπορεί να χωρέσει στη δυαδική μορφή του 65535. Αυτό μας οδηγεί σε ένα μάθημα επίδοση όταν προγραμματίζουμε, εάν η αξία σας δεν πρόκειται να αυξηθεί πολύ με την πάροδο του χρόνου, ή εάν δεν χρειάζεστε τιμές τόσο μεγάλες όσο αυτές διπλασιαστεί o τετραπλή λέξηΗ χρήση του σωστού τύπου μειώνει την ποσότητα μνήμης που απαιτείται από τη CPU, πράγμα που συνεπάγεται υψηλότερη ταχύτητα λήψης δεδομένων εάν υπολογίζεται σωστά.

Από την πλευρά του διερμηνέα αυτό είναι ευκολότερο λόγω του σιωπηρές μετατροπές. ντοΌταν ορίζουμε μια μεταβλητή σε γλώσσες όπως το javascript ή το Python, ο διερμηνέας είναι υπεύθυνος για την κατανόηση του είδους του και διαθέτοντας αρκετό χώρο μνήμης για την εκτέλεση των λειτουργιών. Ας δούμε ένα απλό παράδειγμα 🙂

Τα δικά. Christopher Diaz Riveros

Όπως μπορείτε να δείτε, δεν χρειάζεται να εξηγήσουμε στον διερμηνέα python τον τύπο της μεταβλητής μας, επειδή είναι υπεύθυνος για την εκχώρηση ενός τύπου και την αποθήκευσή του στη μνήμη 🙂

Γνωρίστε τις μεταβλητές σας

Αυτό εξαρτάται από τη γλώσσα και τον τύπο εφαρμογής που πρόκειται να χρησιμοποιήσετε, αλλά το πρώτο βήμα για να μπορέσετε να προγραμματίσετε είναι να μάθετε τις μεταβλητές που μπορείτε να χρησιμοποιήσετε 🙂 Μόλις καταλάβετε τις μεταβλητές, θα είστε σε θέση να τις χρησιμοποιήσετε αποτελεσματικά και λογικά για να αποθηκεύσετε πληροφορίες (παρέχονται από έναν χρήστη ή από το σύστημα). Αυτό είναι το πρώτο βήμα στη σκάλα προγραμματισμού και ελπίζουμε ότι αφού διαβάσετε αυτό το άρθρο, θα έχετε καλύτερη κατανόηση του τρόπου λειτουργίας του υπολογιστή σας και του τρόπου αποθήκευσης πληροφοριών. Θα είναι μαζί μου μέχρι το επόμενο άρθρο, θυμηθείτε να αφήσετε τα σχόλιά σας για να δείτε αν πρέπει να ενισχύσετε ή να σχολιάσετε κάποιο συγκεκριμένο σημείο. Στην υγειά σας


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Luis dijo

    Καλά γραμμένο, συνοπτικό και ξεκάθαρο, ταυτόχρονα ενδιαφέρον για όλα τα είδη κοινού. Καλή δουλειά.

    1.    ChrisADR dijo

      Ευχαριστώ πολύ, χαιρετισμούς 🙂

  2.   Ιωάννης Ιησούς dijo

    Εξαιρετική εξήγηση. Είσαι μηχανή.

    1.    ChrisADR dijo

      Σας ευχαριστώ

  3.   Ruben dijo

    Πολύ καλά, ευχαριστώ

    1.    ChrisADR dijo

      Σας ευχαριστούμε που το διαβάσατε πλήρως 🙂

  4.   Ντιέγκο dijo

    Εξαιρετικά, ευχαριστώ για την συμβολή. Και εκμεταλλευόμενοι το δυαδικό ζήτημα, υπάρχει η πιθανότητα να μας δώσετε μια κατηγορία IP, υποδικτύου κ.λπ. Κατανοώ ότι δεν είναι ζήτημα προγραμματισμού, αλλά μια καλή εξήγηση αυτού του ζητήματος ήταν πάντα σε εκκρεμότητα.
    Και πάλι, ευχαριστώ για την εξήγησή σας

    1.    ChrisADR dijo

      Γεια σας Ντιέγκο, μπορεί να γίνει 🙂 για να πούμε την αλήθεια ότι δεν έχω πάει πολύ στο θέμα, αλλά δεν υπάρχει καλύτερος τρόπος να ερευνήσουμε παρά να αναζητήσουμε κάτι για να το μοιραστούμε σε ένα άρθρο 🙂 Θα το αφήσουμε για τη λίστα γιατί η επόμενη ανάρτηση έχει ήδη θέμα και πρόκειται να αντιμετωπίσει τη σκλήρυνση. Χαιρετισμούς 🙂

  5.   pedro dijo

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

    1.    ChrisADR dijo

      Ευχαριστώ πολύ Pedro still Ψάχνω ακόμα μέρη για να διδάξω, δυστυχώς εδώ στο Περού είναι δύσκολο όταν έχετε μόνο τεχνικό επαγγελματικό πτυχίο, οπότε τώρα εξετάζω τη δυνατότητα συνέχισης των πανεπιστημιακών μου σπουδών εδώ ή όπου μπορώ ή έχω να κάνω αίτηση για μεταπτυχιακό ο ξένος, που ξέρει, ίσως σύντομα κάτι τέτοιο θα δοθεί 🙂 αλλά σίγουρα η διδασκαλία είναι κάτι που κάνει τη μέρα μου 🙂 Χαιρετισμούς

  6.   κάτι dijo

    Δεν είχα διαβάσει μια καλύτερη εξήγηση του θέματος, το πρώτο παράδειγμα είναι εξαιρετικό

    αν και δεν είχα ακούσει αυτή τη λέξη (όπως μεταβλητές 16-bit), διπλή λέξη ή τετραπλή λέξη

    ανεξάρτητα από το ότι "έχω ήδη προγραμματίσει", οι δημοσιεύσεις είναι ενδιαφέρουσες. Εάν υπάρχει κάποιο πρόβλημα, η ανάρτηση είναι να χρησιμοποιήσετε το C (حد. H) ως παράδειγμα μεταβλητών μεγεθών, το C έχει τη λιγότερο συγκεκριμένη προδιαγραφή που υπάρχει

    1.    ChrisADR dijo

      Γεια σε κάτι 🙂 ευχαριστώ πολύ, βρήκα το παράδειγμα στο δρόμο 😛 επειδή είναι σίγουρα γνωστά δεδομένα για όσους έχουν διαβάσει λίγο Συνέλευση, και αυτό καταλαβαίνει ο επεξεργαστής 🙂 χαχαχα σίγουρα το C δεν είναι πολύ συγκεκριμένο, αλλά νομίζω ότι αυτό οφείλεται στο γεγονός ότι η φορητότητα και οι διαφορετικές αρχιτεκτονικές που υποστηρίζει ήταν τόσο ποικίλες που το C πρέπει να φιλοξενήσει κάθε τύπο επεξεργαστή για να είναι πραγματικά φορητός 🙂
      Χαιρετίσματα και ευχαριστίες που μοιράζεστε.

  7.   sergio dijo

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

    1.    ChrisADR dijo

      Γεια σας Sergio, σίγουρα θα ήταν ενδιαφέρον, έχω ακούσει ότι το GNOME σκοπεύει να εφαρμόσει το Rust στη σουίτα προγραμμάτων του, δεν έχω δει ακόμα το πλήρες πεδίο που σκοπεύουν, αλλά έρχεται μια μετανάστευση.
      Όσο για τις γλώσσες, προσωπικά μαθαίνω ακόμα C, θέλω να μπορώ να αρχίσω να αναπτύσσω στον πυρήνα τους επόμενους μήνες και προτιμώ να μάθω μερικές γλώσσες σε βάθος πριν αρχίσω να αναθεωρώ νέες, αλλά μπορώ σίγουρα ψάξτε για κάτι ενδιαφέρον και κάντε μερικά παραδείγματα στο Rust, καθώς η τεκμηρίωσή του φαίνεται αρκετά καλή από μόνη της.
      Χαιρετισμούς και ευχαριστώ που μοιραστήκατε 🙂

  8.   Δαβίδ dijo

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

    1.    ChrisADR dijo

      Γεια σας David, ελπίζω επίσης να συνεχίσω να γράφω και να ενθαρρύνω τους ανθρώπους να συμμετέχουν με ελεύθερο λογισμικό, υπάρχουν τόσα πολλά έργα και ανάγκες τώρα που να έχουμε μερικά επιπλέον χέρια για ανάπτυξη θα ήταν υπέροχο 🙂
      αφορά

  9.   Mart dijo

    Θα μπορούσατε να κάνετε μια δημοσίευση σχετικά με τη μηχανή Turing;

    1.    ChrisADR dijo

      Γεια Mart - Νομίζω ότι σε κάποιο σχόλιο το έχουμε αγγίξει πριν, σωστά; Είμαι βέβαιος ότι μπορώ να βάλω κάτι ενδιαφέρον για το θέμα 🙂 ας δούμε τι μπορεί να βγει. Χαιρετισμούς και ευχαριστώ που διαβάσατε όλα τα άρθρα μου, από την πρώτη μέρα μέχρι σήμερα, σας έβλεπα πάντα πολύ ενδιαφέρον

  10.   ΑΛΛΑΝ ΛΑΡΑ dijo

    Ουάου, σας ευχαριστώ πολύ μια καλή εξήγηση.

    αφορά

    1.    ChrisADR dijo

      Ευχαριστώ πολύ τον Allan

  11.   Ραμόν Χίνταλ dijo

    Διάβασα την προηγούμενη ανάρτησή σας! Σας ευχαριστώ πολύ για την εξήγηση, αν και πιστεύω ότι δεν θα τελειώσω ποτέ να καταλάβω τη λέξη.

    1.    ChrisADR dijo

      Γεια Ramon on ευχαριστώ πολύ που διαβάσατε και τα δύο. Εάν είναι χρήσιμο, η «λέξη» είναι η εξέλιξη ενός byte, είναι σαν τους επεξεργαστές, πριν υπήρχαν 8-bit, μετά από 16-bits, κλπ ... αυτό συμβαίνει επειδή κάθε φορά που χρειαζόμαστε περισσότερο χώρο για διαδικασία και καλύτερη ταχύτητα ή ισχύς ... η «λέξη» γεννήθηκε επειδή ο χώρος του «byte» έπεσε κοντά, και το ίδιο με τη λέξη «διπλή» και «τετραπλή», είναι η φυσική εξέλιξη που μας κάνει να προσθέτουμε δύναμη και χώρο για να συνεχίσει να αναπτύσσεται 🙂

      αφορά

  12.   ανώνυμος dijo

    Αυτό το 2018 μαθαίνω να προγραμματίζω ναι ή ναι, σας ευχαριστώ

    1.    ChrisADR dijo

      Χαίρομαι 🙂 προσπαθήστε σκληρά !! Στην υγειά σας

  13.   Guillermo dijo

    Ευχαριστώ πολύ, συνεχίστε. Ξέρω ήδη πώς να προγραμματίζω, αλλά περιμένω τις διδασκαλίες σας, ότι ο αυτοδίδακτος προγραμματισμός μου είναι γεμάτος κακές πρακτικές.

    1.    ChrisADR dijo

      Ευχαριστώ Guillermo 🙂 Λοιπόν ελπίζω να βρείτε ενδιαφέροντα πράγματα και στις ακόλουθες δημοσιεύσεις 🙂 Χαιρετισμούς

  14.   Edgar dijo

    Μια απλή εξήγηση είναι πάντα η καλύτερη .. εξαιρετική ..
    Θα πρότεινα το git ... για τους προγραμματιστές είναι βασικό όταν θέλετε να εργαστείτε ομαδικά και να τακτοποιήσετε τη δουλειά σας .. τις εκδόσεις ..

    1.    ChrisADR dijo

      Πολύ αληθινό Edgar, θα προσπαθήσω να δημοσιεύσω περιεχόμενο σχετικά με αυτό, αν και είναι αρκετά δύσκολο να πω κάτι νέο, επειδή η τεκμηρίωση του git είναι ήδη άφθονη και πολλά πράγματα έχουν ήδη μεταφραστεί σε πολλές γλώσσες. Θα δω τι μπορώ να κάνω, χαιρετισμούς και ευχαριστώ που μοιράστηκα

  15.   Τιρίρι dijo

    Γεια σας, ο αριθμός από 0 έως 18 446 744 073 709 551 615 αντιστοιχεί στην δεκαδική τιμή 64-bit ή αναφέρεται σε άλλη τιμή; Λοιπόν, υπολογίζοντας την ισχύ των 2 ^ 64, το αποτέλεσμα που έχω είναι: 18 446 744 073 709 552.

    1.    ChrisADR dijo

      Γεια Tiririri, νομίζω ότι αντιμετωπίζετε πρόβλημα στρογγυλοποίησης, μπορείτε να δοκιμάσετε να χρησιμοποιήσετε την εντολή bc; είναι μια γλώσσα προγραμματισμού που έχει σχεδιαστεί για να είναι όσο το δυνατόν ακριβέστερη, από τη στιγμή που είναι απαραίτητη 2^64, ίσως αυτό θα το λύσει καθώς επιτρέψτε μου να ξέρω πώς πήγε, χαιρετισμούς

      . Η πραγματική τιμή είναι 18 446 744 073 709 551 616, αλλά αφαιρούμε το 1 επειδή το 0 μετρά ως πιθανή τιμή 🙂

      1.    Τιρίρι dijo

        Ευχαριστώ, το υπολόγισα με μια αριθμομηχανή ισχύος που βρήκα στο διαδίκτυο (https://es.calcuworld.com/calculadoras-matematicas/potencias/) και αυτό ήταν το αποτέλεσμα που μου έδωσε.
        Και ναι, δοκίμασα ήδη την εντολή bc, και μου δίνει αποτελεσματικά την αξία που έχετε γράψει.

  16.   Τιρίρι dijo

    Γεια σας και πάλι, η εικόνα όπου αναφέρεστε στα όρια. Η βιβλιοθήκη είναι πολύ μικρή και δεν μπορεί να διαβαστεί (τουλάχιστον δεν μπορούσα να τη διαβάσω, γιατί βλέπω ότι όλοι το έκαναν, φαίνεται) και επειδή δεν το καταλαβαίνω Δεν συνεχίζω να διαβάζω. Δεν ξέρω αν θα μπορούσατε να το αλλάξετε, ελπίζω να μην σας ενοχλήσω με αυτό.

    1.    ChrisADR dijo

      Μπορείτε να δοκιμάσετε την έκδοση για κινητά, αυτά φαίνονται λίγο πιο καθαρά, είναι ένα θέμα wordpress: / από την άλλη πλευρά, όλες οι κεφαλίδες C μπορούν να βρεθούν στο / usr / include /, σε αυτήν την περίπτωση μπορείτε να επιλέξετε να το διαβάσετε απευθείας εάν είναι πιο εύκολο 🙂 Θα προσπαθήσω να ανεβάσω μια μεγαλύτερη εικόνα για να δω αν βοηθάει 🙂

      1.    Τιρίρι dijo

        Ευχαριστώ, νομίζω ότι πρέπει να είμαι υπομονετικός με αυτό, heh heh.

  17.   Κάτεκυο dijo

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

    1.    ChrisADR dijo

      Δεν υπάρχει κανένας λόγος για το Katekyo, είναι σίγουρα καλύτερο να χρησιμοποιήσετε την τυπική βιβλιοθήκη, αλλά μπορώ να σας διαβεβαιώσω ότι είναι καλύτερο να γνωρίζετε τι διακρίνει ένα uint_least8_t από ένα uint_fast8_t και αυτό επιτυγχάνεται γνωρίζοντας τους πρωτόγονους τύπους δεδομένων, που ήταν ο στόχος της ανάρτησης 🙂 Πολλοί ευχαριστώ για το σχόλιο και για την ανάγνωση του άρθρου, χαιρετισμούς

  18.   νικητής dijo

    : Ή μια αριστοτεχνική εξήγηση! Ήξερα μέρος των εννοιών, αλλά έχω πολλές νέες γνώσεις από αυτήν την ανάρτηση

    1.    ChrisADR dijo

      Ευχαριστώ πολύ Victor 🙂 πόσο καλό μπορεί να βοηθήσει το άρθρο, χαιρετισμούς

  19.   Guille dijo

    Μου άρεσε πολύ η Python για να διευκολύνει τον προγραμματισμό, είδα ένα μάθημα http://zetcode.com/gui/pyqt4/ Μου άρεσε πολύ το τελευταίο tetris για: http://zetcode.com/gui/pyqt4/thetetrisgame/
    Αυτό το tetris έκανα ρετουσάρισμα κατά τη διάρκεια ενός καλοκαιριού για να βάλω πόντους, multiplayer και μουσική, λίγο-πολύ, αλλά πολύ διασκεδαστικό.

    1.    ChrisADR dijo

      Γεια σας, είναι σίγουρα πολύ διασκεδαστικό να βλέπεις το λογισμικό που δουλεύεις να μεγαλώνει σιγά-σιγά 🙂 είναι μια ασύγκριτη εμπειρία, και ακόμη περισσότερο όταν κάποιος βρίσκει αυτό που αναπτύσσεσαι χρήσιμο, δηλαδή από έναν άλλο κόσμο 😀 ευχαριστώ πολύ για κοινή χρήση 🙂

      1.    Guille dijo

        Σε αυτό που έχω ανεβάσει (30Mb για τη μουσική) στο http://guillermo.molleda.com/Tetris9.7z
        Πρέπει να διαμορφώσετε μια διαφορετική αρχική ταχύτητα για κάθε παίκτη ή εάν κάνετε επανεκκίνηση πόντων μετά από ένα νέο παιχνίδι,…, και υπάρχουν τρεις παίκτες για να παίξουν μαζί μου οι δύο κόρες μου. Είναι ακόμη εθιστικό.