Лучший вопрос задать

Почему ‹---------------- 5 :: 2 ›› == ‹› 1 :: 2 ››? Эликсир

Биты различаются по размеру, а не по количеству

В этой статье рассказывается о представлении битовых строк и двоичных файлов. Давай нырнем.

В Эликсире мы используем <<0>> для двоичного (8 бит) представления. Однако мы можем сказать, сколько битов информации нам нужно, с помощью size (num), то есть <<5::size(3)>> для 3 бит вместо size(8), которое используется по умолчанию. Чтобы быть более простым, мы можем использовать просто число, например <<5::3>>. В зависимости от наших требований есть и другие способы представления, но для этой статьи должна быть известна как минимум указанная выше информация.

Дополнительную информацию о битах и ​​двоичных файлах см. В следующей статье.



Здесь мы играем с двумя числами 5 и 1 в различных битовых формах.

Представительство ‹---------------- 5 :: 2 ››

Прежде чем понять приведенное выше представление, мы перейдем к формированию 8 бит.

<<5::8>>

Вышеупомянутое представление занимает 8 бит для 5. Двоичная форма 5 - 1 0 1. В 8-битной форме это просто 0 0 0 0 0 1 0 1.

<<5::2>>

В приведенном выше представлении 5 он дает только 2 бита, то есть 0 1. Точно так же для 3 бит он дает 1 0 1, а 4 бит дает 0 1 0 1

Представительство ‹---------------- 1 :: 2 ››

<<1::8>>

Приведенное выше представление принимает 8 бит для 1. Двоичная форма 2 - 01. В 8-битной форме это просто 0 0 0 0 0 0 0 1.

<<1::2>>

В приведенном выше представлении 1 он дает только 2 бита, то есть 0 1.

Наблюдение

Если вы внимательно посмотрите здесь, 2 бит формы 5 уступает 0 1 и 2 бит формы 1 дает тоже 0 1. Вот почему истинность <<5::2>> == <<1::2>> равна true.

Укажите, чтобы помнить

Истина для <<5::2>> == <<1::2>> - true, но если вы попытаетесь сопоставить их, получится false.

<<5::2>> == <<1::2>>
true
<<5::2>> === <<1::2>>
true
match? <<5::2>>, <<1::2>>
false

Картинка лучше тысячи слов.

Надеюсь, вам понравилось.

Счастливого кодирования и продолжайте улыбаться :)

Присоединяйтесь к нашему каналу Telegram Blackoders, чтобы получать обновления кода. В основном мы ориентируемся на Эликсир.



«Blackoders
EAT 🍕 - CODE🐞 - SLEEP😴 Код, мысли и идеи Ресурсы по кодированию, советы, видео, статьи и новости Мы следим и собираем… t .меня"



Посетите репозиторий GitHub в разделе Советы по Killer Elixir

Рад, если вы внесете свой вклад в ★