0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 12
1

Перевод действительных чисел в двоичную систему счисления

04.02.2013, 14:41. Показов 2619. Ответов 2
Метки нет (Все метки)

Написать программу перевода действительных чисел из десятичной системы счисления в двоичную. Считаем что целая часть числа не превосходит 10 в 9 степени, а дробная отлична от нуля, но конечна и состоит не более чем из 3 цифр. Для перевода дробной части использовать алгоритм умножения на 2 до получения заданной точности (количества цифр в дробной части результата) В начале текста программы в комментариях поместить тесты, на которых отлаживалась программа.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2013, 14:41
Ответы с готовыми решениями:

Перевод чисел в двоичную систему счисления
Помогите найти ошибку : #include<iostream> using namespace std; #include<conio.h> void inp(int...

Перевод букв и чисел в двоичную систему счисления
Здравствуйте, как сделать на C++ перевод букв и чисел двоичную систему счисления ?

Перевод дробных чисел из десятичной в двоичную систему счисления
для натуральных чисел все понятно, и предельно ясно. А как сделать для дробных чисел? Ведь перевод...

Перевод в двоичную систему счисления
Пожалуйста, помогите с задачкой. Даны два числа a, b их нужно сперва перевести в двоичную систему...

2
281 / 280 / 83
Регистрация: 03.02.2013
Сообщений: 807
04.02.2013, 17:36 2
Лучший ответ Сообщение было отмечено Juli_Dee как решение

Решение

вот набросал, но код немного нехороший

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;
}
0
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 12
05.02.2013, 12:32  [ТС] 3
огромное спасибо)))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2013, 12:32

Перевод из восьмеричной в двоичную систему счисления
Нужно реализовать перевод числа из восьмеричной в двоичную систему счисления. Не используя cin,...

Перевод числа в двоичную систему счисления
Написать программу в С++ С КОММЕНТАРИЯМИ!!!: Написать функцию которая заданное натуральное...

Перевод из десятичной в двоичную систему счисления
Здравствуйте товарищи знатоки! Написал такую программу которая переводит десятичные числа в...

Перевод числа в двоичную систему счисления
Добрый вечер! Нужна программа, которая запрашивает целое число (положительное, отрицательное или...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.