Моя программа предназначена для преобразования десятичного числа в двоичное путем считывания значений из входного файла и последующего вывода двоичных значений в выходной файл.Допустим, входной файл имеет следующие числа:
190 31 5 891717742
Все отлично преобразуется в двоичный, кроме 891717742. Это выводит значение, которое полностью отсутствует в двоичном выводе.Я пробовал долго, но они просто выводят отрицательное значение.Например, это выдает:
11000100 11110010 11 "1434923237" <- not right (not the actual binary values)
Десятичное значение в двоичное (из сети):
char* convertDecimalToBinary(int n)
{
int binaryNumber = 0;
int remainder, i = 1;
static char buff[100];
while (n!=0)
{
remainder = n%2;
n /= 2;
binaryNumber += remainder*i;
i *= 10;
}
sprintf(buff, "%d", binaryNumber );
return buff;
}