![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.05.2014
Сообщений: 14
|
![]()
Не получается никак! Особенно вывести в двоичной системе само число х и инвертированное значение.
Напишите программу invert(p,x,n), возвращающую значение х с инвертированными n-битами, начиная с позиции p ( остальные биты не меняются). Подскажите пожалуйста! |
![]() |
![]() |
![]() |
#2 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
![]()
Что удалось сделать самостоятельно? Выкладывайте, посмотрим.
![]()
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 04.05.2014
Сообщений: 14
|
![]()
unsigned x( unsigned x, int p, int n){
x>>(p+1-n)&~(~0<<n); return x;} int main(){ unsigned x; int p,n; cout<<"Введите х в шестнадцатеричной: "; cin>>hex>>x; cout<<"Введите р и число инвертированных битов n "; cin>>dec>>p>>n; cout<<"Инвертированное х "; printf("%d", invert(x,p,n)); getch(); } Вот то, что я смогла написать. Вы обещали помочь-"Выкладывайте, посмотрим."))) Пожалуйста!) |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 04.05.2014
Сообщений: 14
|
![]()
unsigned x( unsigned x, int p, int n){
x>>(p+1-n)&~(~0<<n); return x;} int main(){ unsigned x; int p,n; cout<<"Введите х в шестнадцатеричной: "; cin>>hex>>x; cout<<"Введите р и число инвертированных битов n "; cin>>dec>>p>>n; cout<<"Инвертированное х "; printf("%d", invert(x,p,n)); getch(); } Вот то, что я смогла написать. Вы обещали помочь-"Выкладывайте, посмотрим."))) Пожалуйста!) |
![]() |
![]() |
![]() |
#5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Скорее всего, есть и более изящные способы инвертировать выбранный бит.
UPD Добавил более прикольный вариант инвертирования. Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 05.05.2014 в 18:45. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 04.05.2014
Сообщений: 14
|
![]()
Огромное спасибо!!!
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 04.05.2014
Сообщений: 14
|
![]()
Можно обращусь к вам, я ввожу ваш код, но подчеркивается bitset, из-за этого программа не работает. Вот что выдает:
] 1> Ни один конструктор не смог принять исходный тип, либо разрешение перегрузки конструктора неоднозначно 1> error C2440: <function-style-cast>: невозможно преобразовать "unsigned int" в "std::bitset<_Bits>" 1> with 1> [ 1> _Bits=32 1> ] 1> Ни один конструктор не смог принять исходный тип, либо разрешение перегрузки конструктора неоднозначно В чем дело? Подскажите |
![]() |
![]() |
![]() |
#8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Каким компилятором пользуетесь?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 04.05.2014
Сообщений: 14
|
![]() |
![]() |
![]() |
![]() |
#10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
К сожалению, не знаю, как избавиться от ошибки. В Visual Studio 2012 и ideone.com ошибка не возникает.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Побитовые операторы | Trampcher | Visual C++ | 1 | 12.06.2013 12:27 |
Побитовые операторы PHP в Delphi | AET | Общие вопросы Delphi | 3 | 23.11.2012 20:26 |
Проблема с программой. Побитовые операторы. Си. | Chelovekpredel | Помощь студентам | 2 | 10.06.2012 18:07 |
Побитовые операторы (number && + number | 0 || 0) | Викдон | JavaScript, Ajax | 0 | 05.10.2011 20:34 |
помогите разобраться(условные операторы) | k1real | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 04.11.2008 05:00 |