Как сделать перевод вещественных чисел из 2 в 8 систему счисления на си?
Нужно сделать перевод числа из 2 системы счисления в 8, в том числе вещественные (типо 011.1) Но вот как это сделать, я не особо понимаю, пока есть только с целыми числами:
int main() {
setlocale(LC_ALL, ".1251");
char c;
int result = 0;
printf("Введите число в 2 системе счисления: ");
while (scanf("%c", &c))
{
if ((c < '0') || (c > '1')) break;
result <<= 1;
result += c - '0';
}
printf("Ваше число в 8 системе счисления %o\n", result);
getchar();
return 0;
}
Можно попробовать спрашивать сначала целую часть, а потом дробную, но как их соединить, и что делать если пользователь например захочет ввести целое число без дробной части?
Источник: Stack Overflow на русском