Манипуляции с битами в JS

Рассмотрим три операции — установка нужного бита в числе, сброс бита и инверсия.

У нас есть число N и номер бита i. Номер бита нумерует биты, начиная с нуля.

Прежде всего нам понадобится маска, с помощью которой мы произведем нужную нам операцию.

Это будет работать для 32-битных целых. Напоминаю, что в JS максимальная величина целого числа — 53 бита.

Установка бита

Следующая операция установит i-й бит:

Сброс бита

Следующая операция сбросит бит:

Переключение (инверсия) бита

Следующая операция инвертирует состояние i-го бита:

Мало букафф? Читайте есчо !

Пара способов добраться до индекса родительского цикла ng_repeat в Angular

Ноябрь 18, 2016 г.

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

Читать

Формирование связанных списков select произвольной вложенности

Декабрь 11, 2016 г.

Не ослабевает интерес к вопросу о динамическом создании связанных выпадающих HTML списков. Для двух зависимых списков (я публиковал пример более 5 лет назад!) ситуация простая и понятная, но люди задают вопрос - а как развить пример для вложения 3х списков? ...

Читать

Ajax в Drupal 7

Август 31, 2015 г.

Расскажу про использование техники ajax в рамках движка Drupal. Начнем с теоретических моментов. Во-первых, чтобы получить какие то данные с веб-сайта под Drupal, нужно чтобы соответствующий адрес существовал на сайте. Во-вторых, нам не хотелось бы ...

Читать

Чистим пользовательский ввод числа в javascript

Февраль 3, 2017 г.

Это еще одна из функций-хелперов. На этот раз мы пытаемся прочитать введенное пользователем число средствами javascript. Javascript уже имеет довольно не плохую функцию parseFloat(strValue). Но она обладает некоторыми особенностями. В частности, ...

Читать
 

Комментарии к «Манипуляции с битами в JS»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: