Форум программистов, компьютерный форум CyberForum.ru

перевод действительных чисел - C++

Восстановить пароль Регистрация
 
Juli_Dee
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 12
04.02.2013, 14:41     перевод действительных чисел #1
Написать программу перевода действительных чисел из десятичной системы счисления в двоичную. Считаем что целая часть числа не превосходит 10 в 9 степени, а дробная отлична от нуля, но конечна и состоит не более чем из 3 цифр. Для перевода дробной части использовать алгоритм умножения на 2 до получения заданной точности (количества цифр в дробной части результата) В начале текста программы в комментариях поместить тесты, на которых отлаживалась программа.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2013, 14:41     перевод действительных чисел
Посмотрите здесь:

C++ Задана последовательность действительных чисел. Найти сумму квадратов чисел, значение которых принадлежит промежутку [a, b]
C++ Вектор действительных чисел
Опишите массив 30 действительных чисел, матрицу 6Х6 целых чисел, 256 символов C++
Дано 8 действительных чисел. Вычислить сумму квадратов разностей корней из модулей действительных чисел C++
Для 8-ми введенных действительных чисел вычислить сумму отрицательных чисел C++
Сделать масивом.Дано 5 действительных чисел. Вычислить сумму квадратных корней модулей этих чисел C++
C++ Дано 10 действительных чисел. Определить количество, сумму и произведение отрицательных чисел
Целую частьиз массива действительных чисел переписать в массив целых чисел C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
04.02.2013, 17:36     перевод действительных чисел #2
вот набросал, но код немного нехороший

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <string>
 
std::string FloatToBin(const double x)
{
    std::string ret;
    unsigned int z = x;
    double r = x-z;
    
    // тут переводится целая часть
    while (z!=0)
    {
        ret=(char)(z%2+0x30)+ret; 
        z=z/2;
    }
    
    int counter=0;
    //тут дробная
    if (r!=0) ret+=".";
    while (r!=0)
    {
        z=r*2;
        ret+=(char)(z+0x30);
        r=r*2-z;
        ++counter;
        if (counter==10) // тут понимаем, процесс затянулся и число может быть вообще иррационально, поставим точки
          {
              ret+="...";
              break;
          }
    }
    return ret;
}
 
int main()
{
    std::string s;
    s = FloatToBin(123.625);
    std::cout << s << std::endl;
    return 0;
}
Juli_Dee
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 12
05.02.2013, 12:32  [ТС]     перевод действительных чисел #3
огромное спасибо)))
Yandex
Объявления
05.02.2013, 12:32     перевод действительных чисел
Ответ Создать тему
Опции темы

Текущее время: 02:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru