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

Перевод из двоичного счисления в десятичное - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано слово. Получить его часть образованную второй, третьей и четвертой буквами http://www.cyberforum.ru/cpp-beginners/thread1197810.html
Доброго времени суток. Подскажите пожалуйста решение задачи со строками в C++. Дано слово. Получить его часть образованную второй, третьей и четвертой буквами.
C++ Запись и удаление 1. Используя ввод-вывод в стиле С создать файл и записать в него структурированные данные. Структура "Покупатель": - фамилия, имя, отчество; - домашний адрес; - номер телефона; - номер кредитной карточки 2. Вывести созданный файл на экран. 3. Удалить К элементов из начала файла. http://www.cyberforum.ru/cpp-beginners/thread1197799.html
C++ Структурированные массивы
1. Сформировать динамический массив из элементов структурного типа. Структурный тип struct person { char*name; char *adres; int age; }; 2. Распечатать сформированный массив. 3. Выполнить поиск элементов в массиве, удовлетворяющих условию: Имена начинаются на букву ‘A’ . И сформировать из них новый массив.
Работа с двухмерными динамическими массивами C++
1. Сформировать динамический двумерный массив, заполнить его случайными числами и вывести на печать. 2. Добавить К столбцов в конец матрицы Для выделения памяти, заполнения массивов, удаления и добавления элементов (строк, столбцов) написать отдельные функции. В функции main() должны быть размещены только описания переменных и обращения к соответствующим функциям
C++ Работа с динамическими массивами http://www.cyberforum.ru/cpp-beginners/thread1197782.html
1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. 2. Удалить все элементы с четными индексами
C++ Турнирная таблица Доброго времени суток. Не могу сообразить, как решить проблему: В этом коде пользователь пишет результаты матча(название команд и количество забитых мячей) и получает в итоге сетку из двух команд с подсчитанным количеством очков, игр, голов и прочее. Но, когда далее вводится команда, которая уже была раньше, все равно возвращается сетка двух команд, как будто они новые. А необходимо, чтобы... подробнее

Показать сообщение отдельно
Артем81
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 2
03.06.2014, 16:03     Перевод из двоичного счисления в десятичное
Здравствуйте. Подскажите, почему так получается: при числе, состоящем из менее чем десяти знаков, программка нормально переводит из двоичного в десятичное, если знаков более, чем десять - выдает всякую фигню?

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
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
    cout << "input dvoichnoe chislo " << endl;
    int number;// number - двоичное число, которое будем переводить в десятичное.
    cin >> number;
 
    int counter; // - переменная для определения количества цифр (знаков).
 
    int number0 = number;//Сохраним здесь введенное двоичное число, чтобы вычислить количество знаков.
    counter = 0;
    do
    {
        number0 = number0 / 10;
        counter++;
    }
    while (number0 >= 1);
    //Теперь переменная counter содержит количество цифр (знаков).
 
    //Вводим переменную varnumber, которая будет являться остатком от деления числа
    //number на 10 в заранее определенной степени.
    int varnumber;
 
    //Вводим переменную number10, которая является результатом вычисления.
    int number10;
    number10 = 0;
 
    int n; // - переменная, определяющая степень, в которую возводится число 2 на данном этапе расчета.
    n = 0;
 
 
 
    while (counter >= 1)
    {
       varnumber = number % 10;
 
    //При этом само число number уменьшаем на порядок.
    number = number / 10;
 
    //перевод из двоичной в десятичную систему счисления осуществляем суммированием чисел, полученных
    // в результате умножения varnumber на 2 в заранее определенной степени, с учетом counter.
 
    number10 = number10 + varnumber * pow (2, n);
 
    counter = counter - 1;
 
    n = n + 1;
    }
 
 
 
    cout << "Your number is: " << number10 << endl;
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru