0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 8
|
|
1 | |
Битовые операции02.06.2009, 19:51. Показов 12096. Ответов 23
Метки нет (Все метки)
Дано задание : Ввести последовательность из 8-ми символов. Если сумма единиц в представлении символа нечетная, то заменить 2 старших бита нулями, иначе - единицами. Вывести исходную последовательность и её восьмеричные коды; преобразованную последовательность и её восьмеричные коды.
Собственно вопрос возникает как вывести восьмеричный код элемента, и двоичный код элемента что бы потом можно было посчитать количество единиц в бинарном коде каждого элемента и в зависимости от результата(чет\нечет) сделать замену старших битов. Спасибо.
0
|
02.06.2009, 19:51 | |
Ответы с готовыми решениями:
23
Битовые последовательности и битовые операции Битовые операции, битовые поля. Используя только битовые операции и операции арифметического сложения и вычитания, вычислите число Битовые операции и операции смещения языка С |
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
02.06.2009, 20:49 | 2 | |||||
Вот примерчик небольшой:
0
|
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
|
|
02.06.2009, 21:03 | 4 |
reitar,
... Собственно вопрос возникает как вывести восьмеричный код элемента ... ... посчитать количество единиц ... ... сделать замену старших битов ... std::bitset тебе поможет
0
|
02.06.2009, 21:10 | 6 |
Ну начинающий пример для наглядности врядли поймёт. А gcc-4.2.4 у меня не ест
a.c:8:18: error: invalid suffix "b10000000" on integer constant Добавлено через 1 минуту 35 секунд Что-то какое-то нехорошее чувство мне подсказывает, что преподавателя такой вариант не устроит. В задачу входит проверка понимания того, как вообще работать с битовыми значениями, а потому вариант с библиотечными реализациями лучше не писать - меньше вероятность пролететь на зачёте
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
02.06.2009, 21:18 | 7 |
Ничто мне не мешало написать в шестнадцатиричной форме, десятичной и вообще символом чар. Вопрос: на хрен? Я пишу так, как мне удобно. Программа работает? Работает. Идея ясна? Ясна. Все. Я пишу для форума, а не для сверх-устойчивой секретной программы Джеймса Бонда. Расслабься, включи мозги. Добавлено через 3 минуты 4 секунды И перестань трястись над студентами. Пусть думают своей головой в том числе, а не на блюдечке все получают.
0
|
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 8
|
|
02.06.2009, 21:22 [ТС] | 8 |
Если чесно то я не очень понял сам пример ибо знаю С++ тока 5-ый день, а пример как я понял на просто С.
Скажите можно ли просто вывести бинарный код элемента "a" например? я где то видел что выводили в восьмеричной системе с помошью добавки "oct" строка была примерно следующая cout<<a<<oct; Можно ли выводить так , но меняя в зависимости от надобности систему счисленая на dec , bin или hex. И еще вопрос нельзя ли как либо на С++ сравнить количествое единиц и нолей между символами не выводя их бинарные коды для последующего сравнения?
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
02.06.2009, 21:30 | 9 |
Вывести-то можно. Именно так, как ты выше написал. А подсчитать количество единиц можно, как в примере выше, но вместо вывода, просто считай в переменной и все.
Ну раз не очень понял, то поднапряги извилины, почитай про битовый & Добавлено через 54 секунды Это можно не понять по причине не знания что такое & и << почитай в инете. Если что-то про это будет не ясно - спрашивай. Только сначала сам попробуй.
0
|
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 8
|
|
02.06.2009, 21:32 [ТС] | 10 |
мне нужен был только вывод , как посчитать единицы , сравнить их количество и как в зависимости от результата заменить старшие биты я и так знаю =)
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
02.06.2009, 21:34 | 11 |
Тогда лови
http://cplus.about.com/od/lear... ntwo_4.htm
0
|
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 8
|
|||||||||||
02.06.2009, 21:54 [ТС] | 12 | ||||||||||
Спасибо.
Посмотрел по ссылке примеры там показан пример :
0
|
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 8
|
|
02.06.2009, 22:22 [ТС] | 15 |
Спасибо , подскажите теперь , что надо поставить вместо cout <<dec<<(int)r << endl; для двоичной , bin ,binary к сожелению не поlходит , или возможно надо какую то из библиотек подключить ?
0
|
0 / 0 / 0
Регистрация: 02.06.2009
Сообщений: 8
|
|
03.06.2009, 00:46 [ТС] | 17 |
чтож , спасибо , будем думать =)
0
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
||||||
03.06.2009, 00:59 | 18 | |||||
reitar,
0
|
03.06.2009, 09:41 | 19 |
Сие мне никогда понятно не было. Почему разработчики языка предусмотрели наличие в языке возможности задать константу в 16-ричном и 8-ричном написании (причём последнее сделано откровенно через ж$пу), а так же в требования к окружению выставили печать значения в этих представлениях, но положили на двоичное представление.
0
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
||||||
03.06.2009, 12:52 | 20 | |||||
Evg,
стремились, что бы Всем! А как ты это поймешь, им наплевать! Точнее не в их интересах!!! Рыбные места выдавать! Работа у них такая! У Может я и заблуждаюсь, но с бинарными полями через в union- волокита еще та!!! Добавлено через 25 минут 29 секунд
0
|
03.06.2009, 12:52 | |
03.06.2009, 12:52 | |
Помогаю со студенческими работами здесь
20
Битовые операции Битовые операции Битовые операции Битовые операции Битовые операции Битовые операции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |