У меня есть функция, которая преобразует целое число в его двоичное представление и хранится в длинной переменной. Моя проблема в том, что моя функция конвертирует только положительные целые числа, поэтому мне нужно реализовать новую функцию, которая будет слегка изменена, чтобы сделать это. Мне все еще нужно хранить мусорное ведро. по донесению в длинной переменной, потому что это зависит от других функций. Есть ли способ?
Моя функция, которая успешно преобразует только натуральные числа:
long convertToBin(int decn)
{
long binn = 0;
long rem;
long a = 1;
while(decn != 0)
{
rem = decn % 2;
binn = binn + rem * a;
a = a * 10;
decn = decn / 2;
}
return binn;
}
Я пробовал вот так, но что-то не так - не работает ...
long negConvertToBin(int decn)
{
long binn = 0;
decn = abs(decn);
decn = decn - 1;
decn = ~decn;
long rem;
long a = 1;
while(decn != 0)
{
rem = decn % 2;
binn = binn + rem * a;
a = a * 10;
decn = decn / 2;
}
return binn;
}