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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ strtok http://www.cyberforum.ru/cpp-beginners/thread119797.html
Скажите, если ли функция, аналог strtok, для типа string?
C++ Сумма отрицательных елементов Помогите перевести код с Паскаля в С++ Задание: Переменной S присвоить значения, которые равны сумме отрицательных елементов масива {Xi,j}n,m. Program M2_B2; uses crt; var s:real; i,j:byte; X:array of real; Begin http://www.cyberforum.ru/cpp-beginners/thread119788.html
Программа "Максимум" =) C++
Нужно написать программу Ввести массив вещественных чисел. Вывести все локальные максимумы и глобальный максимум. как понять "все локальные максимумы"? p.s. не могу писать личные сообщения, поэтому пишу тут для valeriikozlov..вдруг прочтешь. войди в асю!..нужна твоя помошь с програмой!
Прочитать данные из файла в матрицу с указанной позиции C++
"дата 16.09.03 время 0:03:28 число точек 6144 частота 0616000 станция радиостация дискретность 50 Ф.И.О. оператора калибровка 2207 имя файла d:\EXP2002\16_9 0_3_1 примечание 95 -641 -266 679
C++ Поток и параметры http://www.cyberforum.ru/cpp-beginners/thread119754.html
Доброго времени суток. Заранее извиняюсь за столь наглую просьбу, но теории я начитался, а вот реализовать на практике ну никак не могу. Поэтому прошу помочь конкретным примером. Я бы очень и весьма хотел бы взглянуть на кусок кода, где будет отражено как в отдельный поток передавать параметры и как из него получать параметры в других функциях. Например, допустим есть функция: double...
C++ Поиск строк по образцу Если в командной строке заданы опции -x -n <образец>, то необходимо распечатать те строки введенного текста с их номерами, в которых не найден указанный образец, а при указании опций -x <образец> распечатать те же строки, только без номеров. Че то я не могу понять=-O Помогите плиз)) подробнее

Показать сообщение отдельно
DrOffset
6430 / 3804 / 882
Регистрация: 30.01.2014
Сообщений: 6,604
05.08.2016, 15:15     Перевод в заданную систему счисления
Вот примерчик законченного решения завалялся:
Кликните здесь для просмотра всего текста
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
44
45
46
47
48
#include <string>
#include <array>
#include <cstdlib>
 
template <unsigned Base>
constexpr size_t digits(unsigned int v = -1u, size_t count = 0)
{
    return v == 0 ? count : digits<Base>(v / Base, count + 1);
}
template <unsigned int Base>
struct int_storage    // for all systems except binary
    : std::array<char, digits<Base>() + 2> /*1 for zero, 1 for minus */
{ };
template <>
struct int_storage<2> // for binary
    : std::array<char, digits<2>() + 1> /*1 for zero */
{ };
 
template <unsigned int Base>
std::string tostring(int value)
{
    static_assert(Base > 1 && Base < 37, "Only 2..36 bases are accepted!");
    int_storage<Base> storage;
    struct
    {
        unsigned int quot;
 
        size_t index()
        {
            unsigned int const q = quot;
            quot /= Base;
            return q % Base;
        }
    } r = { static_cast<unsigned int>( Base == 2 ? value : std::abs(value) ) };
    char * sp = &storage[storage.size() - 1];
    *sp = 0;
    do
    {
        *--sp = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[r.index()];
    }
    while(r.quot != 0);
 
    if(Base != 2 && value < 0)
    {
        *--sp = '-';
    }
    return sp;
}
В принципе, кому нужно, может убрать шаблон и расчет оптимального буфера по СС, сделать обычную функцию с параметром основания системы счисления. Код переделать несложно.

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