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

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

Вопрос

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

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

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

 

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

 

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

 

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

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

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


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

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

То есть так сложно на русском написать, как пользоваться библиотекой?

 

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

 

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

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

 

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

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

print(43 >> 1)

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

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

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

 

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

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

 

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

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


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

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

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

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

 

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

 

Любопытная штука, но числа в памяти и так лежат в двоичном формате. Если надо произвести какую-то операцию с помощью bit32 - ничего никуда конвертировать не надо.

 

Ну а если стоит задача вывести число на консоль в двоичном виде - то в Луа перевод чисел из систему в систему делается точно так же как и в любом другом языке, или даже просто в математике.

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


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

Любопытная штука, но числа в памяти и так лежат в двоичном формате. Если надо произвести какую-то операцию с помощью bit32 - ничего никуда конвертировать не надо.

 

Ну а если стоит задача вывести число на консоль в двоичном виде - то в Луа перевод чисел из систему в систему делается точно так же как и в любом другом языке, или даже просто в математике.

Я не знаю, как это реализовывается, да и лень как-то. И да, ссылка не рабочая.

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

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


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

Вот людях лень даже загуглить даже не формулу, а деление в столбик с остатком, как им не лень по клавишам стучать да и вообще думать, программирование - это все таки числа и операции с ними. А не ксс и хтмл и арифметика не нужна. Я хачу сделать дота2 на паскаль.

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


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

Что тебя заставило вообще полезть в программирование? Какие ты цели себе ставишь? Что рассчитываешь получить от программирования и что уже получил?

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

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


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

Что тебя заставило вообще полезть в программирование? Какие ты цели себе ставишь? Что рассчитываешь получить от программирования и что уже получил?

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

 

Что тебя заставило вообще полезть в жизнь? Какие ты цели себе ставишь? Что рассчитываешь получить от жизни и что уже получил?

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

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


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

 

Что тебя заставило вообще полезть в жизнь? Какие ты цели себе ставишь? Что рассчитываешь получить от жизни и что уже получил?

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

 

 

Лёх, пропаганда суицида это статья.  :D

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


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

 

Что тебя заставило вообще полезть в жизнь? Какие ты цели себе ставишь? Что рассчитываешь получить от жизни и что уже получил?

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

 

Ты прав

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


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

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

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

 

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

Может я и ошибаюсь, но битовые операции и библиотека bit32 в частности, имеют мало общего с переводом из одной системы счисления в другую. Удивляюсь почему Кверти до сих пор не вспомнил про свой универсальный конвертер из 13-ричной системы в 42-хричную.

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


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

Может я и ошибаюсь, но битовые операции и библиотека bit32 в частности, имеют мало общего с переводом из одной системы счисления в другую. Удивляюсь почему Кверти до сих пор не вспомнил про свой универсальный конвертер из 13-ричной системы в 42-хричную.

Ему Алексей баки забил. :D

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


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

То есть так сложно на русском написать, как пользоваться библиотекой?

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


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

К сожалению в луа нет встроенных бинарный операторов, так что извращаемся делением)

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


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

К сожалению в луа нет встроенных бинарный операторов, так что извращаемся делением)

А библиотека bit32?

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


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

в этой библиотеке предоставленный методы с именем, начинающимся с b, то-есть

band - это and, побитовое "и"

bor - or, побитовое "или"

bnot - not, побитовая инверсия

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

операции производятся в размерности integer (2 байта или 32 бита)

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


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

К сожалению в луа нет встроенных бинарный операторов, так что извращаемся делением)

 

есть, & | << >> ~, зачем мозги пудрить людям. берешь и переходишь на луа 5.3, вот тебе и битовые операции

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

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


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

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

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

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

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

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

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

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

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


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