Перейти к содержимому
  • 0
Arseniy10

Битовые операции

Вопрос

Пожалуйста приведите примеры битовых операция в Lua. А конкретно:

Перевод какого либа числа в двоичное.

Перевод двоичного числа в обычное.

 

И самое главное, использую только библиотеку bit32.

 

И опять же, а зачем тогда в Lua эта библиотека? Зачем мне изобретать велосипед?

 

P.S. Как оказалось, сайт наврал...

Изменено пользователем Arseniy10

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Если нужен алгоритм перевода система счисления, то вот полезная библиотека

Ладно, уговорил. Сопру часть твоей библиотеки.

Написать - легко. Но это бессмысленно.

 

Мы можем описать тебе работу каждого оператора это библиотеки на чистейшем русском, но ты не поймёшь ничего, пока не будешь знать, как именно хранятся и обрабатываются числа в компьютере.

Пока не поймёшь, как именно переводятся числа из одной системы счисления в другую.

 

Я могу сказать тебе, что оператор >> выполняет битовый сдвиг вправо. Что это скажет тебе?

Выполнив например такой код, какое число ты получишь:

print(43 >> 1)

Ты получишь 21. Но почему?

Потому что в памяти компьютера, число 43 хранится в двоичном представлении, которое выглядит как 0b101011.

При сдвиге вправо очевидно получится 0b10101, что эквивалентно 21.

 

Вот. Я рассказал тебе на русском языке, как действует один из побитовых операторов.

Но честное слово, всё будет куда проще, если ты откроешь Google, забьешь туда пару запросов по основам информатики, и прочтёшь всё это сам, в какой-нибудь хорошей статье.

 

P.S. Загляни на свою же стену в ВК, и почитай свою же последнюю запись там. ;)

Хм... А зачем кому-то надо было смотреть мою страницу в ВК?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хм... А зачем кому-то надо было смотреть мою страницу в ВК?

 

0r4inr.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Написать - легко. Но это бессмысленно.

 

Мы можем описать тебе работу каждого оператора это библиотеки на чистейшем русском, но ты не поймёшь ничего, пока не будешь знать, как именно хранятся и обрабатываются числа в компьютере.

Пока не поймёшь, как именно переводятся числа из одной системы счисления в другую.

 

Я могу сказать тебе, что оператор >> выполняет битовый сдвиг вправо. Что это скажет тебе?

Выполнив например такой код, какое число ты получишь:

print(43 >> 1)
Ты получишь 21. Но почему?

Потому что в памяти компьютера, число 43 хранится в двоичном представлении, которое выглядит как 0b101011.

 

При сдвиге вправо очевидно получится 0b10101, что эквивалентно 21.

 

Вот. Я рассказал тебе на русском языке, как действует один из побитовых операторов.

Но честное слово, всё будет куда проще, если ты откроешь Google, забьешь туда пару запросов по основам информатики, и прочтёшь всё это сам, в какой-нибудь хорошей статье.

 

P.S. Загляни на свою же стену в ВК, и почитай свою же последнюю запись там. ;)

Сдвиг - это деление и умножение на два, грубо говоря.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...