![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.04.2019
Сообщений: 50
|
![]()
Прочитать значение бита для конкретного индекса и модифицировать значение индекса.
Я так сделал но оно не работает. Нужна ваша помощь. Код:
|
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 18.01.2025
Сообщений: 3
|
![]() Код:
Последний раз редактировалось ARTURK16; 20.01.2025 в 11:41. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 09.04.2019
Сообщений: 50
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,757
|
![]()
Реализуйте его через класс.
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 09.04.2019
Сообщений: 50
|
![]() |
![]() |
![]() |
![]() |
#6 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,757
|
![]()
Если в гугле набрать "перегрузка оператора []", то можно найти ссылки.
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 16.05.2024
Сообщений: 163
|
![]()
Фактически, вам дали задание создать собственную реализацию стандартного класса std::bitset.
Посмотрите его исходный текст и сделайте упрощённо. Идея там такая: чтобы индексатор можно было использовать в левой части выражений (то есть для модификаци бита), индексатор должен возвращать ссылку на объект (на бит). Но если у вас набор битов представлен целым числом, то не получится вернуть ссылку на бит. Поэтому в классе bitset описан вспомогательный класс, который представляет бит, и индексатор возвращает ссылку на него. А этот вспомогательный класс уже совершает операции. |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 09.04.2019
Сообщений: 50
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 16.05.2024
Сообщений: 163
|
![]()
Я же советовал смотреть не официальную документацию, а исходный текст файла <bitset>.
Вот неэффективная реализация класса "набор битов", но можно понять суть: набор битов в виде вектора из объектов Bit, которые представляют собой биты. В реальной коде надо вместо вектора делать машинные слова (последовательность машинных слов ) и производить битовые операции с ними. То есть здесь неявно создаётся объект Bit, который представляет собой бит, так как нельзя возвратить ссылку на бит в машинном слове. Bit - вспомогательный класс. Код:
Код:
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 16.05.2024
Сообщений: 163
|
![]()
Оператор
Код:
а оператор Код:
В реальном коде когда биты в виде машинных слов, в теле оператора Код:
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализовать функцию побитового ИЛИ | между двумя файлами, записать это в один файл в обратном порядке битов на Си\С++ | Диана5251 | Общие вопросы C/C++ | 1 | 09.02.2020 21:54 |
написать функцию, определяющую пол продавца. Используя функцию, вывести продавцов - мужчин | Nuc | SQL, базы данных | 12 | 12.03.2018 10:12 |
[РЕШЕНО][Delphi] Ошибка 'Operator not applicable to this operator type'. Почему? Есть код. | IlyaHistorik | Помощь студентам | 3 | 21.10.2017 19:37 |
Написать функцию подсчета суммы битов в байте | abc1234 | Помощь студентам | 5 | 16.01.2013 15:38 |
ошибка: no match for ‘operator<<’ in ‘std::operator<< [with _Traits = std::char_traits<char> | Critter | Общие вопросы C/C++ | 5 | 08.08.2010 23:38 |