Работа с битами в excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции БИТ.И в Microsoft Excel.

Описание

Возвращает результат операции поразрядного И для двух чисел.

Синтаксис

БИТ.И(число1;число2)

Аргументы функции БИТ.И описаны ниже.

  • Число1    Обязательный. Должен быть в десятичной форме и больше 0.

  • Число2.    Обязательный. Должен быть в десятичной форме и больше 0.

Замечания

  • Функция БИТ.И возвращает десятичное число.

  • Результат — поразрядное И параметров функции.

  • Значение каждой битовой позиции считается, только если биты обоих параметров в этой позиции равны 1.

  • Значения битовых позиций увеличиваются справа налево и являются степенями 2. Крайний правый бит возвращает 1 (2^0), бит слева от него — 2 (2^1) и т. д.

  • Если хотя бы один из аргументов меньше 0, bitAND возвращает #NUM! значение ошибки #ЗНАЧ!.

  • Если один из аргументов не является integer или больше (2^48)-1, bitAND возвращает #NUM! значение ошибки #ЗНАЧ!.

  • Если значение любого из аргументов не является числом, то bitAND возвращает #VALUE! значение ошибки #ЗНАЧ!.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Формула

Описание

Результат

Принцип действия

=БИТ.И(1,5)

Сравнивает бинарные представления чисел 1 и 5.

1

Двоичное представление 1 — 1, а двоичное представление 5 — 101. Их биты совпадают только в крайней правой позиции. Возвращается как 2^0 или 1.

=БИТ.И(13;25)

Сравнивает бинарные представления чисел 13 и 25.

9

Двоичное представление 13 — 1101, а двоичное представление 25 — 11001. Их биты совпадают в крайней правой позиции и в четвертой позиции справа. Возвращается как (2^0)+ (2^3) или 9.

Десятичное число

Двоичное представление

13

1101

25

11001

К началу страницы

Нужна дополнительная помощь?

Функция БИТ.И возвращает результат операции поразрядного И для двух чисел. Впервые функция появилась в 2013-й версии Excel.

Описание функции

Возвращает результат операции поразрядного И для двух чисел.

Синтаксис

=БИТ.И(число1, число2)

Аргументы

число1число2

Обязательный. Должен быть в десятичной форме и больше 0.

Обязательный. Должен быть в десятичной форме и больше 0.

Замечания

  • Функция БИТ.И возвращает десятичное число.
  • Результат — поразрядное И параметров функции.
  • Значение каждой битовой позиции считается, только если биты обоих параметров в этой позиции равны 1.
  • Значения битовых позиций увеличиваются справа налево и являются степенями 2. Крайний правый бит возвращает 1 (2^0), бит слева от него — 2 (2^1) и т. д.
  • Если значение какого-либо из аргументов меньше 0, функция БИТ.И возвращает значение ошибки #ЧИСЛО!.
  • Если какой-либо из аргументов не является целым числом или его значение превышает (2^48)-1, функция БИТ.И возвращает значение ошибки #ЧИСЛО!.
  • Если значение какого-либо из аргументов не является числовым, функция БИТ.И возвращает значение ошибки #ЗНАЧ!.

Пример

Резюме

Функция Excel BITAND возвращает десятичное число, представляющее побитовое И двух чисел.

Цель

Возвращает побитовое И из двух чисел.

Возвращаемое значение

Десятичное число

Синтаксис

= БИТАН (число1; число2)

Аргументы

  • number1 — положительное десятичное число.
  • число2 — положительное десятичное число.

Версия

Excel 2013

Примечания по использованию

Входные числа должны быть больше или равны нулю и не больше 2 48-1.

Как это устроено

Функция выполняет логическую операцию И с каждым соответствующим битом в двоичном представлении двух чисел.

Наблюдения и советы этой статьи мы подготовили на основании опыта команды Функция БИТИЛИ возвращает побитовое «исключающее ИЛИ» двух заданных чисел.

Примечание: Эта функция доступна только в Excel 2013 и более поздних версиях.

Синтаксис

BITXOR(number1, number2)

аргументы

  • Number1 (обязательно): этот аргумент должен быть в десятичной форме больше или равен 0;
  • Number2 (обязательно): этот аргумент должен быть в десятичной форме больше или равен 0.

Замечания

1. Аргументы могут быть любым из:

— Числа;

— Ссылки на ячейки, содержащие числа.

2. #NUM! значение ошибки возникает, если выполняется любое из следующих условий:

— Любое из предоставленных чисел не является целым числом;

— Любое из предоставленных чисел меньше 0;

— Любое из предоставленных чисел больше (2^48)-1.

3. #СТОИМОСТЬ! значение ошибки возникает, если какое-либо из предоставленных чисел не является числовым.

4. В результате:

— Если значения параметра в этой битовой позиции не равны (в одной и той же битовой позиции одно значение равно 1, а другое равно 0), последний бит в этой битовой позиции будет равен 1.

— Если значения параметра в этой битовой позиции равны (в одной и той же битовой позиции оба значения равны 1 или 0), последний бит в этой битовой позиции будет равен 0.

Например, для вычисления BITXOR (13,20). Двоичная форма 13 — это 1101, а двоичная форма 20 — 10100. Эти два двоичных представления будут добавлены следующим образом:

Советы: Поскольку эти два двоичных кода имеют разные цифры, для облегчения сравнения 1101 можно рассматривать как 01101.

Возвращаемое значение

Возвращает числовое значение.

Пример

Чтобы вычислить побитовое «исключающее ИЛИ» данных чисел в таблице ниже, вы можете сделать следующее.

Выберите ячейку (в данном случае D6), введите приведенную ниже формулу и нажмите Enter чтобы получить побитовое «XOR» первых двух чисел. Выберите эту ячейку результата, а затем перетащите ее маркер автозаполнения вниз, чтобы получить другие результаты.

=BITXOR(B6,C6)

Ноты:

1) Аргументы в приведенной выше формуле предоставляются в виде ссылок на ячейки, которые содержат числа. Однако вы можете изменить формулу следующим образом:

=BITXOR(1,4)

2) Как работает эта функция BITXOR?

Возьмите формулу в D6 в качестве примера: =БИТИЛИ(B6,C6)

2.1) Сначала функция преобразует десятичное число в двоичное.

В этом случае двоичная форма десятичного числа «1» равна 1, а двоичная форма десятичного числа «4» — 100.

Советы: Вы можете применить Функция DEC2BIN чтобы легко преобразовать десятичное число в двоичное в Excel.

2.2) Затем функция добавляет эти два бинарных представления.

В этом случае сумма этих двух двоичных файлов равна 101.

2.3) Наконец, функция преобразует двоичное число обратно в десятичную форму.

В этом случае двоичное число 101 возвращается в десятичной форме как целое число 5.

Советы: Вы можете применить Функция БИН2ДЕС чтобы легко преобразовать двоичный код в десятичный в Excel.

В следующей таблице подробно показано, как работает эта функция.

Связанные функции


Лучшие инструменты для работы в офисе

Kutools for Excel — Помогает вам выделиться из толпы

Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.

  • Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.

Лента Excel (с Kutools for Excel установлены)


Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.

Снимок экрана Excel (с установленной вкладкой Office)

Комментарии (0)


Оценок пока нет. Оцените первым!

Разбить по разрядам двоичное представление числа

NikolayPetrovich

Дата: Воскресенье, 04.06.2017, 09:25 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 22


Репутация:

2

±

Замечаний:
20% ±


Excel 2007

Прошу помощи!
Суть проблемы: десятичное число преобразую в двоичное и затем по маске нужно выделить нужный бит (это будет 0 или 1).
Преобразовать — все понятно, а вот как выделить нужный бит — ума не хватает.
Пример:
Десятичное число 5. Двоичное — 0101.
В ячейке В1 (условно) нужно выделить старший бит (0)
В ячейке В2 (условно) нужно выделить третий бит (1)
В ячейке В3 (условно) нужно выделить второй бит (0)
В ячейке В4 (условно) нужно выделить младший бит (1)
ПОМОГИТЕ!!! Всегда выручали!


Лучше семь раз покрыться потом, чем один раз инеем!

Сообщение отредактировал NikolayPetrovichВоскресенье, 04.06.2017, 09:36

 

Ответить

Che79

Дата: Воскресенье, 04.06.2017, 10:12 |
Сообщение № 2

Группа: Друзья

Ранг: Старожил

Сообщений: 1649


Репутация:

306

±

Замечаний:
0% ±


2013 Win, 365 Mac

NikolayPetrovich, здравствуйте. Если правильно понял задачу. В A2 исходное двоичное число, в В1 формула, протягиваемая по строкам

Код

=ПСТР($A$2;СТРОКА(C1);1)

[p.s.] Что-то голова не думает с утра. Дайте теме более конкретное название, отражающее суть задачи. Как пример , «Извлечение нужного бита из двоичного числа». Мои извинения модераторам за ответ в теме с неконкретным названием.

К сообщению приложен файл:

040617.xlsx
(9.0 Kb)


Делай нормально и будет нормально!

Сообщение отредактировал Che79Воскресенье, 04.06.2017, 10:26

 

Ответить

NikolayPetrovich

Дата: Воскресенье, 04.06.2017, 15:20 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 22


Репутация:

2

±

Замечаний:
20% ±


Excel 2007

Che79. Спасибо за подсказку, но к сожалению, к решению это не привело. У меня максимальное десятичное число — 65535, а функция ДЕС.В.ДВ обрабатывает максимально 511. При большем значении — ошибка!
Что мне нужно сделать:
1. Преобразовать десятичные числа из столбца В (Канал 1) в двоичные в столбец D (Двоичное число 1). (при этом размер столбца В заранее не известен. Максимально возможно за сутки — 8640 значений. Если захватить несколько суток, то это значительно увеличит количество чисел.)
2. Подобным образом преобразовать столбец С в столбец Е.
3. В ячейку F2 записать первый (младший разряд) из ячейки D2. В ячейку G2 второй разряд из двоичного числа ячейки D2. И т.д..
4. Столбцы F, G, … и т.д. преобразовать в диапазоны (думаю, что справлюсь).
5. Просуммировать единицы в каждом диапазоне на отдельном листе (это будет итог работы за некоторый период времени). И заодно отчёт.
Если у кого есть идеи и подсказки, прошу помочь.
Заранее благодарен.


Лучше семь раз покрыться потом, чем один раз инеем!

 

Ответить

buchlotnik

Дата: Воскресенье, 04.06.2017, 15:33 |
Сообщение № 4

Группа: Заблокированные

Ранг: Участник клуба

Сообщений: 3442


Репутация:

929

±

Замечаний:
20% ±


2010, 2013, 2016 RUS / ENG

NikolayPetrovich, дайте теме более конкретное название.
Числа в пределах 65535, хоть и с бубном, в двоичный вид преобразовать можно.
Что касается вопросов начиная с 3-его — см. правила форума

Сообщение отредактировал buchlotnikВоскресенье, 04.06.2017, 15:36

 

Ответить

NikolayPetrovich

Дата: Воскресенье, 04.06.2017, 15:38 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 22


Репутация:

2

±

Замечаний:
20% ±


Excel 2007

Подскажите, пожалуйста, как переименовать тему. Больше подойдет «Подсчет моточасов». Честное слово, не знаю как это сделать. Тему создал под утро после бессонной ночи, занимался с модулем МСД. Данные с него получил, а вот как это привести к удобоперевариваемому виду не хватает знаний!


Лучше семь раз покрыться потом, чем один раз инеем!

Сообщение отредактировал NikolayPetrovichВоскресенье, 04.06.2017, 15:41

 

Ответить

buchlotnik

Дата: Воскресенье, 04.06.2017, 15:50 |
Сообщение № 6

Группа: Заблокированные

Ранг: Участник клуба

Сообщений: 3442


Репутация:

929

±

Замечаний:
20% ±


2010, 2013, 2016 RUS / ENG

У вас первая задача — преобразовать число более 511 из десятичного представления в двоичное — так и назовите
Формула монструозная, но простая по сути:

Код

=ШЕСТН.В.ДВ(ПСТР(ПОВТОР(0;4-ДЛСТР(ДЕС.В.ШЕСТН(B2)))&ДЕС.В.ШЕСТН(B2);1;1);4)&ШЕСТН.В.ДВ(ПСТР(ПОВТОР(0;4-ДЛСТР(ДЕС.В.ШЕСТН(B2)))&ДЕС.В.ШЕСТН(B2);2;1);4)&ШЕСТН.В.ДВ(ПСТР(ПОВТОР(0;4-ДЛСТР(ДЕС.В.ШЕСТН(B2)))&ДЕС.В.ШЕСТН(B2);3;1);4)&ШЕСТН.В.ДВ(ПСТР(ПОВТОР(0;4-ДЛСТР(ДЕС.В.ШЕСТН(B2)))&ДЕС.В.ШЕСТН(B2);4;1);4)

Остальное через ПСТР

К сообщению приложен файл:

1628393.xlsx
(36.0 Kb)

Сообщение отредактировал buchlotnikВоскресенье, 04.06.2017, 16:11

 

Ответить

NikolayPetrovich

Дата: Воскресенье, 04.06.2017, 15:59 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 22


Репутация:

2

±

Замечаний:
20% ±


Excel 2007

Спасибо за отзыв. Вечером буду разбираться. И за справедливую критику тоже. Постараюсь быть более внимательным при создании темы. Спасибо!


Лучше семь раз покрыться потом, чем один раз инеем!

 

Ответить

vikttur

Дата: Воскресенье, 04.06.2017, 16:02 |
Сообщение № 8

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2941

Код

=ДЕС.В.ДВ(ЦЕЛОЕ(B2/512))&ДЕС.В.ДВ(ОСТАТ(B2;512);9)

 

Ответить

Che79

Дата: Воскресенье, 04.06.2017, 16:04 |
Сообщение № 9

Группа: Друзья

Ранг: Старожил

Сообщений: 1649


Репутация:

306

±

Замечаний:
0% ±


2013 Win, 365 Mac

В режиме редактирования своего первого поста. Кликаете на «Правка» — меняете название темы — сохраняете пост.


Делай нормально и будет нормально!

 

Ответить

Светлый

Дата: Воскресенье, 04.06.2017, 16:12 |
Сообщение № 10

Группа: Друзья

Ранг: Старожил

Сообщений: 1742


Репутация:

479

±

Замечаний:
0% ±


Excel 2013, 2016

Если двоичные числа требуются только как промежуточные и нигде больше не нужны, то любой бит из любого числа можно извлечь простой формулой:

Код

=ОСТАТ(ОТБР(Число/2^Разряд);2)


Программировать проще, чем писать стихи.

 

Ответить

buchlotnik

Дата: Воскресенье, 04.06.2017, 16:13 |
Сообщение № 11

Группа: Заблокированные

Ранг: Участник клуба

Сообщений: 3442


Репутация:

929

±

Замечаний:
20% ±


2010, 2013, 2016 RUS / ENG

vikttur, классный вариант

 

Ответить

vikttur

Дата: Воскресенье, 04.06.2017, 16:37 |
Сообщение № 12

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2941

Если нужно отображать всегда 16 разрядов:

Код

=ДЕС.В.ДВ(ЦЕЛОЕ(B2/512);7)&ДЕС.В.ДВ(ОСТАТ(B2;512);9)

Хотя такая конструкция позволяет отображать в двоичном представлении десятичное число 262143 (до 18 двоичных знаков включительно)

Сообщение отредактировал viktturВоскресенье, 04.06.2017, 16:41

 

Ответить

jakim

Дата: Воскресенье, 04.06.2017, 19:34 |
Сообщение № 13

Группа: Друзья

Ранг: Старожил

Сообщений: 1150


Репутация:

305

±

Замечаний:
0% ±


Excel 2010

Предлагаю формулу-гигант для 42 двоичных знаков.

К сообщению приложен файл:

hes2bin.xlsx
(11.7 Kb)

 

Ответить

NikolayPetrovich

Дата: Воскресенье, 04.06.2017, 21:01 |
Сообщение № 14

Группа: Пользователи

Ранг: Новичок

Сообщений: 22


Репутация:

2

±

Замечаний:
20% ±


Excel 2007

Светлый, ОЧЕНЬ красивое решение!!! А, главное, даже не знаю, что сказать. Огромное спасибо!
Благодарю, что поменяли название темы. Такое название подходит больше. И разъяснили!


Лучше семь раз покрыться потом, чем один раз инеем!

Сообщение отредактировал NikolayPetrovichВоскресенье, 04.06.2017, 21:02

 

Ответить

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Работа с балансом в excel
  • Работа с базой данных в excel списки
  • Работа с базой данных в excel презентация
  • Работа с базой данных в excel 9 класс
  • Работа с базой данных word

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии