![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
![]()
дано любое число в size_t например.
мне нужно в этом числе изменить заданный бит на противоположный. есть такая функция? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
не знаю, есть ли в C специальные средства работы для работы с битами.
а в общем случае делается так Задаётся битовая маска, имеющая единицу в нужном разряде (задавать можно или константой, если разряд "жестко" задан, или заносить единичку в младший разряд и сдвигать влево нужное число раз (по номеру разряда)) Дальше, если нужно изменить заданный бит на противоположный произвести битовую операцию сложение по модулю 2 (xor) Код:
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 31.12.2010
Сообщений: 5
|
![]() Код:
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
![]()
спасибо. вот еще способ, вдруг кому надо
#include <bitset> другое_число = std::bitset<32>(число).flip(номер_б ита).to_ulong(); |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]()
Сергей предложил самый лучший вариант.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 23.10.2011
Сообщений: 35
|
![]()
Можно использовать битовые поля. Но можно ли с помощью них изменять значение определенных битов не знаю.
Выделить значение любого бита или группы битов в какую-то переменную довольно просто организовывается |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно сделать счетчик изменения бита | fanscorpions | Помощь студентам | 3 | 31.05.2011 17:20 |
Проверка установленности 0-го бита | Sianukvil | Общие вопросы C/C++ | 0 | 01.06.2010 17:09 |
Число размером 1024 бита. | ImmortalAlexSan | Общие вопросы Delphi | 1 | 16.04.2010 12:54 |
C++ получение конкретного бита... | SNUPY | Помощь студентам | 2 | 26.03.2009 18:50 |
Замена второго бита в числе | SZR | Помощь студентам | 4 | 25.01.2008 20:16 |