0 / 0 / 0
Регистрация: 18.03.2012
Сообщений: 30
|
|
1 | |
Инвертирование группы бит.18.03.2012, 15:26. Показов 4525. Ответов 19
Метки нет Все метки)
(
Помогите с программой, пожалуйста.
Дана переменная типа long. Написать функцию, которая инвертирует группу из N разрядов переменной, начиная с разряда с номером P (где N и P - целые положительные числа, а нумерация разрядов числа начинается с нуля). Запрещается использование дополнительных переменных. В программе обеспечить ввод исходных данных.
0
|
18.03.2012, 15:26 | |
Ответы с готовыми решениями:
19
[Debug] Обнуление, установка и инвертирование бит При сложении по модулю два двух чисел по 48 бит пропадает 1 бит Самые часто встречающиеся 24 символа кодировать по 5 бит. А все остальные по 10 бит |
![]() 4893 / 2687 / 919
Регистрация: 29.11.2010
Сообщений: 5,774
|
||||||
18.03.2012, 18:06 | 2 | |||||
Это вот сами.
1
|
0 / 0 / 0
Регистрация: 18.03.2012
Сообщений: 30
|
|
18.03.2012, 18:43 [ТС] | 3 |
мы потоки еще не проходили. пока на примитивном уровне все. это для меня сложно
0
|
Модератор
![]() ![]() ![]() ![]() ![]() 12837 / 7573 / 1765
Регистрация: 25.07.2009
Сообщений: 13,970
|
||||||
18.03.2012, 19:05 | 4 | |||||
![]() Решение
3
|
![]() 4893 / 2687 / 919
Регистрация: 29.11.2010
Сообщений: 5,774
|
||||||
19.03.2012, 00:42 | 5 | |||||
easybudda, хороший вариант. Без лишней информации.
Только зачем возводить двойку в степень через pow? Двойка в степень N же возводится сдвигом единицы влево 1 << N.
1
|
Модератор
![]() ![]() ![]() ![]() ![]() 12837 / 7573 / 1765
Регистрация: 25.07.2009
Сообщений: 13,970
|
||||||
19.03.2012, 02:13 | 6 | |||||
В случае, если нужно инвертировать все биты, двойка в степени LONG_BIT выйдет за границу типа unsigned long, то есть вот так
![]() Хотя похоже, зря я испугался, сейчас проверю... Проверил, работает. Тогда, конечно, лучше без заморочек с pow().
0
|
![]() ![]() |
||||||
19.03.2012, 11:23 | 7 | |||||
Ну и как вариант для массовки
![]()
1
|
![]() ![]() |
||||||
19.03.2012, 13:09 | 8 | |||||
- ниже простой алгоритм на плюсах работающий со строковым представлением бит, просто и наглядно
0
|
![]() ![]() |
|
19.03.2012, 13:14 | 9 |
kerzh, небольшие пояснения к коду
- получаем строку представление двоичной записи числа (помните что двоичная запись идёт задом наперёд от привычной нам записи слева направо - т.е. младшие разряды числа будут идти ближе к концу) - инвертируем нужное нам число бит с заданной позиции - получаем число из нового строкового представления Остальное в алгоритме крайне тривиально и думаю в пояснениях не нуждается...
0
|
19.03.2012, 14:33 | 10 |
0
|
![]() ![]() |
|
19.03.2012, 14:41 | 11 |
- лично мне на первом курсе всё что тут было приведено показалось бы именно
. Я дал код в предположении кране скудных знаний у kerzh, вот и всё.
Не по теме: PS:fasked, у меня что то неправильно посчиталось или не наглядно???
0
|
19.03.2012, 17:05 | 13 |
Не по теме: fasked, сущность обучения - в постепенности осваиваемого материала, первокласнику не будет понятна производная, а 11 класнику не будет понятна теория поля с круговыми интегралами дивиргенциями и прочей вышкой, аналогично и здесь:read:
0
|
![]() ![]() |
||||||
19.03.2012, 17:53 | 14 | |||||
fasked, всё я тебя понял и так будет на много проще
![]()
![]()
0
|
19.03.2012, 17:55 | 15 |
0
|
![]() ![]() |
|
19.03.2012, 18:08 | 17 |
fasked, а я и не говорил что он станет лучше - ты вёл речь о понятности и сдвигах или rol это не сдвиг?
Что является критерием нормальности? Я вот держу пари что за все предложенные коды преподаватель впаяет kerzh, пару, т.к. 100% по его фразе - он ещё начинающий и в таком случае даже строковая маска сложна, так что прежде чем что то цеплять нужно ориентироваться на уровень автора темы а не на то как должно быть всё в идеале. Да без базара, я сейчас сразу инверт напишу в одной функции на асме и будет строк 5-6 кода и что это проще или лучше автору будет???
0
|
![]() ![]() |
|
19.03.2012, 22:26 | 18 |
Я не вел речи о понятности или сдвигах.
Зачем? Мне лично все равно, что ему там поставят. И по этой же причине я не собираюсь делать что-либо через одно место, особенно, если я это буду осознавать. Так не бывает.
0
|
![]() ![]() |
|
19.03.2012, 22:58 | 19 |
Не по теме: - странно думаю мы в ответе за тех кому написали, притом у тебя должность немного обязывает... - затем, что бысрей и лаконичней асемблерной вставки ничего не будет, а так просто шоб було:) Добавлено через 3 минуты
0
|
Модератор
![]() ![]() ![]() ![]() ![]() 12837 / 7573 / 1765
Регистрация: 25.07.2009
Сообщений: 13,970
|
||||||
19.03.2012, 23:31 | 20 | |||||
![]() Решение
А прерву-ка я эту милую беседу, пока до обсуждения распада образовательной системы на постсоветском пространстве не добрались. Примеров предоставили достаточное количество. Если понадобятся какие-то разъяснения, ТС, пишите - открою тему.
Добавлено через 24 минуты В виде бонуса ![]()
3
|
19.03.2012, 23:31 | |
Помогаю со студенческими работами здесь
20
Поделить строку на блоки по 12 бит и заменить в каждом блоке случайный бит Сделать в числе n циклическую перестановку четных бит на k бит вправо Подскажите какую аппаратную платформу с моим железом ставить? 64-бит или 86-бит ! Студент определяет свой номер N в списке группы. Старосте группы сообщается идентификатор M группы Преобразовать прямоугольную матрицу так, чтобы ее ряды расположились на увеличение их бит-в-бит сумм Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Java Micronaut в Docker: контейнеризация с Maven и Jib
Javaican 16.03.2025
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным. . .
|
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Javaican 16.03.2025
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого. . .
|
Apache Airflow для оркестрации и автоматизации рабочих процессов
Mr. Docker 16.03.2025
Управление сложными рабочими процессами — одна из главных головных болей инженеров данных и DevOps-специалистов. Представьте себе: каждый день нужно запускать десятки скриптов в определенной. . .
|
Оптимизация приложений Java для ARM
Javaican 16.03.2025
ARM-архитектура переживает настоящий бум популярности в технологическом мире. Когда-то воспринимаемая исключительно как решение для мобильных устройств и встраиваемых систем, сегодня она штурмует. . .
|
Управление состоянием в Vue 3 с Pinia и Composition API
Reangularity 16.03.2025
Когда я начал работать с Vue несколько лет назад, мне казалось достаточным использовать простую передачу данных через props и события между компонентами. Однако уже на среднем по сложности проекте. . .
|
Введение в DevSecOps: основные принципы и инструменты
Mr. Docker 16.03.2025
DevSecOps - это подход к разработке программного обеспечения, который объединяет в себе принципы разработки (Dev), безопасности (Sec) и эксплуатации (Ops). Суть подхода заключается в том, чтобы. . .
|
GitHub Actions vs Jenkins: Сравнение инструментов CI/CD
Mr. Docker 16.03.2025
В этой битве за эффективность и скорость выпуска программных продуктов ключевую роль играют специализированные инструменты. Два гиганта в этой области — GitHub Actions и Jenkins — предлагают разные. . .
|
Реактивное программирование с Kafka Stream и Spring WebFlux
Javaican 16.03.2025
Реактивное программирование – это программная парадигма, ориентированная на потоки данных и распространение изменений. Она позволяет выражать статические или динамические потоки данных и. . .
|
Простая нейросеть на КуМир: Учебное пособие по созданию и обучению нейронных сетей
EggHead 16.03.2025
Искусственные нейронные сети — удивительная технология, позволяющая компьютерам имитировать работу человеческого мозга. Если вы хотя бы немного интересуетесь современными технологиями, то наверняка. . .
|
Исполнитель Кузнечик в КуМир: Решение задач
EggHead 16.03.2025
Среди множества исполнителей в системе КуМир особое место занимает Кузнечик — простой, но невероятно полезный виртуальный персонаж, который перемещается по числовой прямой, выполняя ваши команды. На. . .
|