Как инвертировать число? Есть число 3 в десятичной системе (0011) Должно получиться 1100, т. е. 12. - Вопросы по С+

Вопрос Как инвертировать число? Есть число 3 в десятичной системе (0011) Должно получиться 1100, т. е. 12.

Регистрация
2 Апр 2013
Сообщения
74
Репутация
0
Спасибо
0
Монет
0
Как инвертировать число? Есть число 3 в десятичной системе (0011) Должно получиться 1100, т. е. 12. c++
 
Регистрация
15 Ноя 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
Инверсия - это оператор ~. Если надо обнулить старшие разряды, можно использовать маску. Например: ~3 & 0xF Результат 12
 
Регистрация
13 Мар 2017
Сообщения
314
Репутация
70
Спасибо
11
Монет
0
Re: Как инвертировать число? Есть число 3 в десятичной системе (0011) Должно получить

Простой способ описан выше, но можно инвертировать не только значение, но и строку
[THIDE="0"]#include <iostream>
#include <cstring>
#define size 50

int main()
{

char str [size];
char str2[size];

std::cin.get(str,size);

for(unsigned int i=0;i<strlen(str);i++)
{
str2 = str[strlen(str)-i-1];
std::cout<<str2;
}
return 0;
}[/THIDE]
 
Сверху Снизу