Работа над заданием, которое просит переписать все основные арифметические операции (добавить/вычесть/размножить) только с использованием бит-мудших операторов. Один из неполных методов имеет следующее описание: «возвращает целое число, двоичное представление которого совпадает с двоичным представлением i в обратном порядке». Я успешно переписал функции add(), subtract() и multiply, но мне нужны предложения как как это сделать. На данный момент это все, что у меня есть ..Нужно вернуть целое число, двоичное представление которого совпадает с двоичным представлением i в обратном порядке.
unsigned int reverse(unsigned int i)
{
{
int reverse;
while (i != 0)
{
reverse = reverse * 10;
reverse = reverse + i%10;
i = i/10;
}
return i;
}
}
Почему «я» как неподписанный и «обратный», как подписан? Также вы возвращаете 'i'; вы не хотите возвращать 'reverse'? – MicroVirus
Если вы должны работать с двоичным представлением, вам не следует умножать и делить на 10 (что было бы для десятичного представления). – interjay
Возможно, это ваш ответ: http://stackoverflow.com/questions/845772/how-to-check-if-the-binary-representation-of-an-integer-is-a-palindrome – Alexxx