Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Битовые операции
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Битовые операции (Прочитано 10834 раз)
0 Пользователей и 1 Гость смотрят эту тему.
homosapien
Интересующийся
Offline
Битовые операции
«
:
20-05-2010 12:28 »
Наверное очень просто, но не писал такого раньше. Прошу прощения в общем
Ребята, для реализации одного алгоритма мне нужно сделать след вещи - в общем,
имеется двоичное, допустим 11111 и нужно добавить в его конец 01 например, чтобы вышло 11101 (но числа всегда разные и какие именно я не знаю (в этом вся соль)).
Надеюсь объяснил понятно.
Записан
Dale
Блюзмен
Команда клуба
Offline
Пол:
Re: Битовые операции
«
Ответ #1 :
20-05-2010 12:38 »
11101 = (11111 & 11100) | 00001
Записан
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Sla
Команда клуба
Offline
Пол:
Re: Битовые операции
«
Ответ #2 :
20-05-2010 12:39 »
Непонятно
111111
операция
01
----------
111101
010100
операция
01
---------
010101
Так?
Записан
Мы все учились понемногу... Чему-нибудь и как-нибудь.
homosapien
Интересующийся
Offline
Re: Битовые операции
«
Ответ #3 :
20-05-2010 12:39 »
но я не знаю же, какие числа там будут
Записан
Sla
Команда клуба
Offline
Пол:
Re: Битовые операции
«
Ответ #4 :
20-05-2010 12:41 »
т.е. ты хочешь чтоб второе число "накрывало" первое
Записан
Мы все учились понемногу... Чему-нибудь и как-нибудь.
baldr
Команда клуба
Offline
Пол:
Дорогие россияне
Re: Битовые операции
«
Ответ #5 :
20-05-2010 12:47 »
homosapien
, "числа" представлены у тебя каким типом - строкой или числом?
Как ты представишь число 01 и чем оно будет отличаться у тебя от 00001 ?
Записан
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Dale
Блюзмен
Команда клуба
Offline
Пол:
Re: Битовые операции
«
Ответ #6 :
20-05-2010 12:51 »
Допустим, разрядность исходного числа n, разрядность добавляемого m, тогда:
1. Сформировать битовую маску длиной n бит, в которой m младших битов нули, остальные - единицы.
2. Выполнить операцию "логическое И" над исходным числом и маской.
3. Выполнить операцию "логическое ИЛИ" над результатом шага 2 и добавляемым числом.
Записан
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
homosapien
Интересующийся
Offline
Re: Битовые операции
«
Ответ #7 :
20-05-2010 14:52 »
Цитата: Sla от 20-05-2010 12:41
т.е. ты хочешь чтоб второе число "накрывало" первое
точно.
Цитата: baldr от 20-05-2010 12:47
homosapien
, "числа" представлены у тебя каким типом - строкой или числом?
Как ты представишь число 01 и чем оно будет отличаться у тебя от 00001 ?
- вероятнее всего строкой, так будет потом удобнее.
Таких маленьких чисел не будет точно.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Битовые операции
«
Ответ #8 :
21-05-2010 02:58 »
homosapien
, тебе вот такое нужно, наверное?
имеется xxxxx и 000NN.
xxxxx & 11100 -> xxx00;
xxx00 | 000NN -> xxxNN;
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Антон (LogRus)
Глобальный модератор
Offline
Пол:
Внимание! Люблю сахар в кубиках!
Re: Битовые операции
«
Ответ #9 :
21-05-2010 03:41 »
Цитата: homosapien от 20-05-2010 14:52
- вероятнее всего строкой, так будет потом удобнее.
битовые операции над строковыми представлениями это совсем не удобно.
Записан
Странно всё это....
Sla
Команда клуба
Offline
Пол:
Re: Битовые операции
«
Ответ #10 :
21-05-2010 06:51 »
Задача не полная и к битовым операциям она не относится
Записан
Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Битовые операции
Загружается...