Δυ

Δυαδικά σε Elixir

7 ασκήσεις

Σχετικά με την έννοια Δυαδικά

  • Ο τύπος binary είναι εξειδίκευση του τύπου bitstring.
  • Τα binaries αποτελούνται από bytes.
    • Τα bytes είναι 8 bits.
    • Τα bytes μπορούν να αναπαραστήσουν αριθμούς από το 0 έως το 255
    • Οι δεκαεξαδικές ακέραιες τιμές είναι συνηθισμένες όταν δουλεύεις με bytes: από 0x00 έως 0xFF.
  • Τα literal binary ορίζονται με την ειδική μορφή <<>>.
  • Το <>/2 μπορεί να χρησιμοποιηθεί για τη συνένωση bitstrings/binaries/συμβολοσειρών.
<<255>> == <<0xFF>>
# Overflowing bits are truncated
<<256>> == <<0>>
<<256::size(16)>> == <<1, 0>>

<<"Hello">> == <<72, 101, 108, 108, 111>>

Το null-byte είναι ένα άλλο όνομα για το <<0>>.

Οι συμβολοσειρές είναι κωδικοποιημένα binary δεδομένα

  • Οι συμβολοσειρές είναι κωδικοποιημένα binary δεδομένα σε μορφή UTF-8.
# This string has a string length of 5, but is made up of 7 bytes
string = "cześć"
String.length(string) != byte_size(string)

# Even emoji strings are encoded binaries
"👍" == <<240, 159, 145, 141>>

Αντιστοίχιση προτύπων σε binary δεδομένα

# Ignore the first 8 bytes, bind the remaining variable sized binary to `body`
<<_::binary-size(8), body::binary>>

Αυτό μπορεί να γίνει και για συμβολοσειρές:

# bind the first 5 bytes to `name`,
# match the string literal " the ",
# bind remaining bytes to `species`
<<name::binary-size(5), " the ", species::binary>> = <<"Frank the Walrus">>
{name, species}
# => {"Frank", "Walrus"}
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Δυαδικά

Η εξάσκηση είναι κλειδωμένη

Ξεκλείδωσε 1 ακόμη άσκηση για να εξασκηθείς στην έννοια Δυαδικά