alarm
Задайте вопрос
Информатика
Cesarina

Преобразование десятичной дроби в восьмеричную дробь C++Целое число могу перевести в восьмеричную а вот с дробью проблемы#include #include #include #include using namespace std;int main(){float num;double rem = 0;int dec = 0;int i = 0;int k=0;cout << "Please enter a number with a decimal point: ";cin >> num;float ohalf = num - (int)num;int half = num;while (half =0){rem = half % 10;half /= 10; dec += rem *= pow(8, i);i++;}cout<i = -1;while (ohalf = 0){rem = ohalf *pow(8, i);i--;}cout << rem;return 0;}

ответы: 1
Зарегистрируйтесь, чтобы добавить ответ
Ответ:

Преобразование целой части тоже конечно можно переделать на манер дробной, но . . .

#include <iostream>

#include <math. h>

using namespace std;

using namespace std;

int main()

{

float num;

double rem = 0;

int dec = 0;

double dec2 = 0;

double x, y;

int i = 0;

int k = 0;

const int precision = 9; // Количество знаков после запятой

cout. precision(precision);

cin >> num;

double ohalf = num - (int)num;

int half = num;

while (half != 0)

{

rem = half % 8;

half /= 8;

dec += rem * pow(10, i);

i++;

}

for (i = 0; i < precision; i++)

{

ohalf = std::modf(ohalf * 8. 0, &x); // целая часть запишется в x, дробная - в y

dec2 += x * pow(0. 1, i+1);

}

dec2 += dec;

cout << num << "(10) = " << dec2 << "(8)";

}

217
JoJole
Чтобы ответить необходимо зарегистрироваться.

Другие вопросы: - Информатика

За счёт чего зарабатывают беспла

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Контакты
Реклама на сайте