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

Перевод из десятичной системы счисления в восьмиричную с плавующей запятой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пары в векторе http://www.cyberforum.ru/cpp-beginners/thread771264.html
Задан вектор в 200 чисел который рандомно заполнен в диапазоне от -50 до 50 . Нужно из этого безобразия получить количество отрицательных и положительных чисел, которые стоят рядом( пример - 9,14,(5,(-5),7),8,4 ). Я с трудом представляю , как это. Мож кто поможет?
C++ Дан файл, содержащий текст на русском языке Дан файл, содержащий текст на русском языке. Cоставить в алфавитном порядке список всех слов, встречающихся в этом тексте. Есть код в паскале: program laba14; const n = 6; l = 10; var i,count :integer; http://www.cyberforum.ru/cpp-beginners/thread771238.html
C++ Не запускается деконструктор. Где ошибка?
#include <cstdlib> #include <iostream> using namespace std; class Sort{ public: int x; int max; Sort();
Взаимные include заголовочных файлов C++
Доброго времени суток! Возник вопрос по вот такой задаче: Пускай есть файлы A.h , A.cpp, B.h, B.cpp. В файле A.h объявлен класс А: class A { ... B** Arr; public: void someMethod();
C++ нужно доделать игру немного)(кому не сложно) http://www.cyberforum.ru/cpp-beginners/thread771203.html
#include <iostream> #include <windows.h> #include <conio.h> using namespace std; void main() { #pragma region Объявления enum {SPACE, WALL, SCORE, LIFE}; enum DIRECTION{UP, DOWN, LEFT, RIGHT}; const int Y = 24, X = 65;
C++ Консоль не вмещает результаты Недавно начал изучать С++ и решил как то реализовать полученные знания, к тому же подвернулась объемная и рутинная задача для вычисления, порядка 2000 операция сложения :) .... в итоге немного помучившись у меня получилось всё просуммировать, но вот в чём загвоздка консоль возвращает только где то 300 строк, а остальные стирает или что то вроде того.. подскажите как увидеть все возвращенные... подробнее

Показать сообщение отдельно
Asker
114 / 102 / 11
Регистрация: 18.12.2010
Сообщений: 378
25.01.2013, 13:07     Перевод из десятичной системы счисления в восьмиричную с плавующей запятой
Я могу предложить такой вариант, какой бы он ни был убожеский

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
42
43
#include <iostream>
#include <cmath>
#include <string>
#include <algorithm>
using namespace std;
 
int main()
{
double a;                                // само число
long long int a_int;                     // целая его часть
string int_s="", float_s="";             // буфер : строки содержат целую и дробную части 
                                         // в восьмеричной системе счисл.
cout << "vvedite chislo v 10 sisteme schisliniya : ";
cin >> a;
 
if (a<0) {cout << "-"; a=-a;}            // считаем по модулю
 
a_int=floor(a);                          // разбираемся с целой частью, выделяем ее и запоминаем
if (a_int)                               // если ненулевая
    while (a_int)
    {
        int_s += (char)(a_int%8+48);     // выводим в буфер цифру
        a_int >>= 3;                     // то же, что a_int/=8, только быстрее
    }
else int_s="0";                          // если нулевая, просто выводим ноль
 
                                         // теперь разбираемся с дробной частью
double a_float = a-(long long int)a;     // выделяем дробную часть
 
for (int k=0; k<8; k++)                  // 8 знаков перебираем
{
    a_float *= 8;                        // берем следующую цифру
    float_s += (char) floor(a_float)+48; // каждый раз выделяем целую часть и записываем в буфер
    a_float = (float) a_float-(long long int)a_float; // отсекаем целую часть
}
 
reverse(int_s.begin(), int_s.end());     // целая часть записана в обратном порядке! переворачиваем
 
cout << int_s << "." << float_s << endl; // выводим результат
 
system("pause");
return 0;
}
Добавлено через 2 минуты
Кстати, а вот интересно, кто-нибудь знает, есть ли какая-нибудь функция для перевода очень длинных чисел (длинная арифметика) в разные системы счисления?
 
Текущее время: 12:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru