Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
14 / 13 / 4
Регистрация: 30.09.2015
Сообщений: 132
1

Очень тупой затык по Битам

12.02.2016, 15:31. Показов 1489. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
чутка запутался в индексации битов, а именно с их логическим представлением.
как я понял индексация в последовательности битов идет с права на лево
т.е. двоичный код числа 3 = 00000011. Нулевой или младший бит равен 1, старший или седьмой бит равен 0.
т.е. если стоит задача изменить нулевой бит числа 3,и записав его в QbitArray bi, нужно изменить 7 элемент массива(bi[7])?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2016, 15:31
Ответы с готовыми решениями:

Тупой затык в вёрстке подвала WP
Добрый день. Тупость какая-то, казалось бы, но... В WP в подвал ставлю счётчики, и никак не могу...

Работа с битам
Добрый день, передом мной появилась такая задача: Я имею программу, которая подбирает данные из COM...

Разбиение числа по битам
Всем привет! Есть int - число, его нужно разбить в четыре char - переменных. Как это сделать?

Проверка по битам числа
Надо сделать проверку числа к примеру 0F по битам, если в бите 0 то переход по следующему адрес....

1
1 / 1 / 4
Регистрация: 09.02.2016
Сообщений: 8
12.02.2016, 22:35 2
Лучший ответ Сообщение было отмечено SkaDi как решение

Решение

QBitArray используется для хранения множества bool'ов. Индексация справа налево, т.е. 0 элемент — первый бит, 1 элемент — второй бит, смотри примеры:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
QBitArray x(5);
x.setBit(3, true);
// x: [ 0, 0, 0, 1, 0 ]
// x = 8
 
QBitArray y(5);
y.setBit(4, true);
// y: [ 0, 0, 0, 0, 1 ]
// y = 16
 
 
QBitArray z(9);
z.setBit(4, true);
z.setBit(7, true);
// z: [ 0, 0, 0, 0, 1, 0, 0, 1, 0 ]
// z = 16 + 128 = 142
Если тебе нужно хранить там числа, а не массив флагов, — используй обычные битовые операции:
C++
1
2
3
4
5
6
7
8
unsigned char a, b, c, d, e, f;
a = 0b00000101     ; // 5
b = 0b00000110     ; // 6
     
c = a & b ; // 00000100 == 4
d = a | b ; // 00000111 == 7
e = a ^ b ; // 00000011 == 3
f =  ~ a  ; // 11111010 == 250
0
12.02.2016, 22:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2016, 22:35
Помогаю со студенческими работами здесь

Чтение по битам (байтам)!!!
Возможно ли реализовать чтение файлов и каталогов по байтам (битам)? Не открывая сами файлы...

FILE_MAP_EXECUTE затык
Вроди и задача не сложная, но завис как начинающий=-O Скажем есть байты экзешника, как посредством...

затык с модулями
всем снова драске. в текущем каталоге лежит main.py с таким содержанием: import sys...

Удалить сравнив по битам, не работает
<---- Форма В общем задача: удалить из массива элементы в которых к примеру не встречаются биты...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru