Вопросы с меткой [битовые-операции]

Используйте данную метку если Ваш вопрос связан с битовыми операциями в программировании.

Фильтрация
Сортировка
Метки
2 голоса
0 ответов
54 показа

Являются ли битовые операции независимыми от порядка байт?

Пример. int n = 1; std::cout << (n & 1) << std::endl; // будет ли здесь 1 и на little-endian и на big-endian?
mazik7512's user avatar
  • 922
0 голосов
1 ответ
76 показов

Операция сдвига вправо

В этом коде ниже res будет равно -2. int main() { int res = -28299 >> 14; } В этом коде ниже res будет равно 1. Почему? int main() { int res = 28299 >> 14; }
black4's user avatar
  • 173
1 голос
1 ответ
115 показов

Проверка на степень двойки

Дано натуральное число N. Вывести слово "YES", если N является числом, которое получается при возведении 2 в какую-либо степень, и слово NO в противном случае. #include <iostream> #...
Константин Степанов's user avatar
0 голосов
3 ответа
223 показа

Операция, обратная побитовому ИЛИ

хотелось бы узнать, существует ли способ восстановить исходные значения из результата побитового ИЛИ? То есть, что я имею ввиду: 0111 1100 0101 | 1101 1111 1001 в результате дает 1111 1111 1101, ...
Andrew Popov's user avatar
-1 голос
1 ответ
51 показ

Битовые операции Python [закрыт]

Можете пожалуйста объяснить как выполнить данную задачу. Никак не могу разобраться.
absolute's user avatar
0 голосов
0 ответов
31 показ

Сжатие цветов с помощью побитового ИЛИ

Не могу понять можно ли вообще такое реализовать. К примеру у нас есть массив из 100 3 байтовых чисел, то есть RGB. Нужно сжать все эти числа в новый массив, чтобы в итоге каждое из этих цветов можно ...
qredself's user avatar
0 голосов
0 ответов
71 показ

Построение СДНФ на основе ДНФ

Прошу помочь с построением СДНФ. Таблицу истинности построить не представляется возможным (если я правильно понимаю), так как речь идёт о графе. Задача в общем - нахождение максимальных внутренне ...
cucurbita's user avatar
1 голос
2 ответа
277 показов

Как работает округление числа вверх до кратного?

Вычитал в одной статье технику, которая позволяет округлить число X в большую сторону так, чтобы оно было кратно Y. int roundup(int x, int y) { return ((x+y-1) & ~(y-1)); } int main() { ...
mirakoto's user avatar
3 голоса
1 ответ
92 показа

Помогите понять смысл использования битов и побитового сдвига в классе

Есть проект программы на Java Swing. Я пытаюсь разобраться в её коде. Сам проект представляет из себя игру в шашки. В ней представлен класс Board, который является представлением размеченной шахматной ...
Антон's user avatar
0 голосов
1 ответ
57 показов

Декартовое произведение Java

Здраствуйте, у меня есть клас Set для задания и получения множеств и также класс Operations с методами множеств. Все методы моего класса (типа объединение множеств, декартового произведения...) должны ...
VWinner's user avatar
-3 голоса
1 ответ
107 показов

Как работают битовые операции в данных программах?

unsigned char i = 0, j(50), k = 128; for(i = 17; i < 33; i += 3){ j += k++; k >>= 1; } printf("i = %03d; j = %d; k = %04d", i, j, k); return 44; ... unsigned char d, f, g; ...
wafelek's user avatar
  • 11
0 голосов
2 ответа
62 показа

JS. Неожиданное поведение при побитовом сдвиге влево (<<)

var a = 0b00000000000000000000000000000001 // 1 var b = a << 31 // -2147483648 (Логично, мы сдвинули биты на 31 влево) var c = b << 1 // 0 (Тоже логично, единица вышла за пределы 32-х ...
Ростислав's user avatar
0 голосов
1 ответ
48 показов

JS. Неожиданный результат при битовом ИЛИ двух чисел [дубликат]

var a = 0x81000000; // 2164260864 var b = 0x00FFFFFF; // 16777215 var c = 0x81FFFFFF; // 2181038079 var d = a | b; // -2113929217 var test = c == d; // false Собственно вопрос: Как ...
Ростислав's user avatar
18 голосов
8 ответов
551 показ

Новогодний арифметический конкурс 2023

Год назад был объявлен конкурс на представление номера года арифметическими выражениями из цифр. В этом году Harry поспешил все испортить :), опубликовав свои наработки заранее. Но мы никому не ...
Mikhajlo's user avatar
  • 12.6k
0 голосов
1 ответ
241 показ

Циклический сдвиг влево на указанное количество бит: проблема с граничными значениями

Мне необходимо реализовать циклический побитовый сдвиг влево, с маленькими числами все отлично работает, но когда ввожу максимальное число для 64бит (9223372036854775807) то мне выдается другое число. ...
AdolfDFO's user avatar
8 голосов
6 ответов
365 показов

Как задать маску вида 0x55555555 переносимым образом?

В некоторых задачах связанных с манипуляцией битами нужна маска для всех чётных битов. Каждый раз такая маска задаётся константой вида 0x55555555, что хорошо если unsigned занимает 32 бита. А если 16 ...
Stanislav Volodarskiy's user avatar
2 голоса
2 ответа
332 показа

Битовые операции (поменять местами два соседних бита в числе)

Язык: Си. Нужны корректировки к коду и помощь с ним. Цель: написание программы, которая будет получать с клавиатуры целое число и возвращать другое число, где переставлены местами соседние биты (0 и 1,...
fracktus's user avatar
0 голосов
0 ответов
100 показов

Удаление младших битов

Имеется слово uint32_t word Как удалить два младших бита? Именно удалить, а не обнулить, чтобы размер слова понизился до 30 бит.
Kam9371's user avatar
-3 голоса
1 ответ
241 показ

В числе нечетные биты сделать равными 0, а четные оставить прежними

Программа должна получить число типа unsigned short int и в нем нечетные биты сделать равными 0, а четные оставить прежними. Пример: при вводе 1111 1110 1010 1100 должно получиться 0101 0100 0000 ...
Ян Алексеев's user avatar
0 голосов
1 ответ
126 показов

Побитовые операции (сдвиг)

У меня есть число, которое в 16-ричном виде равно B3C5B3, как мне из него получить 16-ричное C5B3 при помощи побитовых операций? На сколько сдвиг и в какую сторону? Мне нужен сдвиг. Потому что ...
Ян Алексеев's user avatar
-2 голоса
2 ответа
85 показов

не могу решить задачу на "хороший" массив [закрыт]

Задача:Рассмотрим массив из 5 чисел, каждое из которых представлено в двоичной системе счисления. Назовем массив хорошим, если его элементы можно переставить таким образом, что каждый элемент (кроме ...
chel's user avatar
  • 3
0 голосов
1 ответ
122 показа

Чтение нескольких бит из числа через маску

При помощи побитового оператора & можно прочитать равное кол-во бит, к примеру из 0xff, достать первые 4 бита, 0x0f, и последние 4 бита 0xf0: #include <stdio.h> #include <stdint.h> ...
evo's user avatar
  • 496
0 голосов
1 ответ
74 показа

Проблема в реализации побитового вычитания UNIX C

введите сюда кодПроблема в реализации функции побитового вычитания. Проблема всегда начинается, когда идёт последовательность вычитания из 0 единицы. В функциию всегда приходят положительные value_1 ...
Astrodynamic's user avatar
0 голосов
1 ответ
468 показов

Как привести вещественные числа к одному порядку при простых арифметических операциях UNIX C

Создали следующую структуру для хранения больших чисел: typedef enum { L_BITS, //младшие биты M_BITS, //средние H_BITS, //старшие S_BITS, //16-23 бит под экспаненту 31 под знак ALL_BITS } ...
Astrodynamic's user avatar
0 голосов
1 ответ
50 показов

можно ли упростить проверку первого бита любой переменной?

Основной вопрос можно ли обойтись без первого if в процедуре checkFirstBit(int size_arg, ...) Второй вопрос можно ли сделать еще проще? Третий вопрос все ли по феншую с данным решением? начиная от ...
whocares's user avatar
0 голосов
1 ответ
641 показ

Получить младшие 8 бит и старшие 24 бита

есть в бд число (например 335609856 или 67176448), насколько понимаю эти числа хранятся там в 10-тичной системе, нужно на с++ получить младшие 8 бит и старшие 24 бита этого числа Верно ли я понимаю, ...
lingvo's user avatar
  • 3
0 голосов
2 ответа
101 показ

Битовые поля. Найти два старших разряда

Есть программа, которая определяет два старших разряда двоичного числа: #include <stdio.h> struct r { unsigned int x : 8; }; union code { struct r p; struct { unsigned a0 : ...
Kirill Tarasenko's user avatar
0 голосов
0 ответов
115 показов

Как разделить массив байт по несколько бит?

Есть файл, в котором некоторые данные "запакованы" равномерным кодированием (до 8 бит включительно на 1 значение, при этом число бит на значение известно). Нужен какой-нибудь универсальный ...
IOException's user avatar
0 голосов
1 ответ
118 показов

Декодировать и закодировать uint16 значение в три блока

Посмотрел несколько видео про побитовые операции, и понял что вроде бы все так легко, а на практике ничего не понятно Задача: Из uint16 значения извлечь 3 первых бита - это приоритетность модуля, 4 ...
Manticore's user avatar
  • 309
0 голосов
2 ответа
142 показа

Побитовые операции в Си [закрыт]

Есть задача, на побитовые операции. Условия задачи: Удалить цифру 1 в записи данного восьмеричного числа. Не до конца понимаю, как это реализовать при помощи побитовых операций. Например число 213 ...
Bang's user avatar
  • 23
1 голос
1 ответ
44 показа

Побитовая коньюкция

//x&51 = 0 ∨ (x&41 = 0 → x&А = 0) for(unsigned int A = 1;A<= 32;A++) { unsigned flag = 1; for(unsigned int x = 1;x<=32;x++) { if(!(((x&51)!= 0) + (((x&41)=...
aG3NT's user avatar
  • 5
0 голосов
1 ответ
129 показов

Необходимо из int rgba, в котором содержится цвет в формате rgba вытащить в отдельные переменные все цвета и значение канала альфа

На вход дается int rgba, в котором хранится цвет в формате rgba. Нужно в отдельных методах вытащить по отдельности все цвета и значение параметра альфа. И ровно наоборот, из 4 различных int собрать ...
TerHent's user avatar
1 голос
1 ответ
164 показа

Инициализация битовой маски

Изучаю битовые операции и столкнулся со следующей задачей: Дано целое число(int) и n-й разряд. Необходимо инициализировать переменную-маску с 1 в старшем и n-м бите и применить ее к заданному числу. ...
GoshkaLP's user avatar
0 голосов
0 ответов
54 показа

Количество последовательностей заданной длины, XOR которых имеет заданное значение [дубликат]

Представилась такая задача: Необходимо найти количество числовых последовательностей с заданными суммой и длиной, XOR которых имеет заданное значение (т.е A1^A2^A3....^An = x; x=0) Условно говоря, на ...
Felix Wojchik's user avatar
0 голосов
1 ответ
638 показов

Что делает строка ans^=x, прилагаю задачу и код

Объясните фрагмент ans^=x. Для массива целых чисел, где все элементы, кроме одного, встречаются дважды, найдите уникальный элемент. Пример: a = [1, 2, 3, 4, 3, 2, 1] Уникальный элемент - 4 int ...
Bukashka's user avatar
-1 голос
1 ответ
102 показа

Побитовые операции си

Есть код, который шифрует числа, путём перестановки первого и последнего бита в байте. Как сделать обратное действие? unsigned int n = abs(atoi(arr[i])); //Замена бита ...
Vlad Ryazantsev's user avatar
0 голосов
3 ответа
846 показов

Замена первого и последнего бита в числе

Есть число, например 14 (1110), нужно поменять местами первый и последний бит. Тоесть на выходе получить 7(0111). Как это сделать?
Vlad Ryazantsev's user avatar
1 голос
1 ответ
301 показ

Почему bool не меняется при побитовых операциях? C++

В C++ bool весит 1 байт. Я решил для изучения побитовых операций сделать программу, которая позволит хранить 8 значений True/False в одном bool (Практической пользы это не несет, это только для ...
ComeInRage's user avatar
  • 1,601
0 голосов
1 ответ
41 показ

Как сместились биты?

Можете объяснить, как в этом задании получили последовательности 1, 2 и 3 справа в столбце в примере? Я не понимаю как их сместили
Сергей Гуков's user avatar
-1 голос
1 ответ
125 показов

Как, в данном случае, работает & в if?

Почему при написании программы, которая бы сравнивала отдельные элементы массива и выводила самое большое значение, у меня в итоге последнее значение как будто не учитывается значение. В результате ...
Unknown User's user avatar
0 голосов
1 ответ
92 показа

Оптимизация класса с помощью побитовых операций

Есть класс и он хранит восемь свойств, каждое свойство может иметь четыре состояния. Уверен что это дает возможность оптимизировать запись состояния экземпляра, используя всего лишь одно 16-битное ...
Sergey Inozemcev's user avatar
0 голосов
1 ответ
46 показов

Почему выбивает исключение Run-Time Check Failure #2 - Stack around the variable 'UnitStateWord' was corrupted?

#include <iostream> #include <stdio.h> #include <Windows.h> using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); char m, n, l, ...
Whooow's user avatar
  • 3
-1 голос
1 ответ
192 показа

Как правильно внести с помощью ввода число в переменную char? С помощью scanf?

#include <iostream> #include <stdio.h> #include <Windows.h> using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); char c, f, ...
Netervey's user avatar
0 голосов
1 ответ
26 показов

Run-Time Check Failure #2 - Stack around the variable 'c' was corrupted. Помогите, почему исключение?

#include <iostream> #include <stdio.h> #include <Windows.h> using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); char c, f, ...
Netervey's user avatar
0 голосов
0 ответов
138 показов

Почему не только первый бит равен 1 у отрицательных чисел?

Недавно узнал, что первый бит в двоичной кодировке числа отвечает за знак: 1 ≡ - и 0 ≡ +. Однако, если использовать форматирование строк под 32 символа-бита (как в int) и в цикле вывести n-e ...
work8play's user avatar
  • 113
2 голоса
3 ответа
284 показа

Язык Си. Тема: поля бит

Условие задачи: найти и вывести целое число, в 2 раза меньше заданного (с клавиатуры), не выполняя деления и не используя операцию взятия остатка от деления. Написал простенький код, но не знаю, как ...
Irondare's user avatar
0 голосов
1 ответ
79 показов

Поиск подпоследовательности в битовой строке

Задача: Дана строка состоящая из нулей и единиц, и целое число k. Нужно проверить что каждое двоичное число длинной k является подпоследовательностью строки. Пример 1: Input: s = "00110110", ...
Rikitikitavi's user avatar
  • 2,423
1 голос
0 ответов
259 показов

с++: проверка вхождения битовой последовательности в соответствующую маску с использованием bit manipulation instructions set

есть некоторая битовая последовательность, записанная в числе data = 0b01101000 надо определить, что она полностью покрывается битовой последовательностью (маской), записанной в другом числе mask = ...
Zhihar's user avatar
  • 37.5k
3 голоса
4 ответа
140 показов

определить как часто в массиве данных присутствует заданный бит

Подскажите, есть ли какое-то безусловное (без использования условий) решение следующей задаче: Есть массив 32битных чисел. Требуется на выходе получить 32битное число, где если i-ый бит установлен, то ...
Zhihar's user avatar
  • 37.5k
1 голос
1 ответ
91 показ

Поменять группы символов двоичного кода местами побитовыми операциями со сдвигом (C#)

С помощью поразрядных логических операций выполнить над данными (не над строкой символов) следующее преобразование. Найти в двоичном коде максимальные по длине группы соседних одинаковых бит со ...
adlex's user avatar
  • 11