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

Перевод чисел и разных систем - C++

Восстановить пароль Регистрация
 
andy92
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 14
05.11.2010, 00:46     Перевод чисел и разных систем #1
Доброго всем времени суток задали задачку мне,а как решить не знаю,мне нужно сделать программу перевода числе из двуичной системы в десятиричную.Самая больая проблема,что мы только начали курс по С++ и всё ,что я находил похожее есть решением моей задачи,но так как этого ещё не изучали мне не зачтут,подскажите как сделать её на очень низком уровне.
Я тут думал мне обьязательно для решения этой задачи нужно знать количество цифр двуичного числа,но как сделать,чтоб цифры по одной водить и С++ разрешил не могу придумать,короче будьте добрыми помогите новичку)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2010, 00:46     Перевод чисел и разных систем
Посмотрите здесь:

Перевод систем счислений C++
Перевод систем счисления. C++
функции для перевода из разных систем счисления C++
C++ перевод чисел из систем счисления
C++ перевод систем счисления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
White Luna
 Аватар для White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
05.11.2010, 00:55     Перевод чисел и разных систем #2
можно цыфры объявить символами, т е их тип сделать char, тогда чтобы посчитать их кол-во мож использовать strlen
andy92
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 14
05.11.2010, 00:56  [ТС]     Перевод чисел и разных систем #3
можно подробней про char вроде бы его использывали, а stren нет боюсь не подойдёт может по-другому как?
White Luna
 Аватар для White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
05.11.2010, 00:59     Перевод чисел и разных систем #4
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
#include "stdafx.h"
#include "locale.h"
#include "conio.h"
#include "string.h"
#include "iostream"
 
using namespace std;
 
int _tmain()
{
    setlocale (LC_ALL, "Russian");
    int t=2, w=10, r=1, h=0, N=0, q=0;
    char k[200]={0}, a[200]={0};
        printf ("Введите исходное число :\n");
        scanf ("%s", k);
        
        printf ("Число в новой системе счисления :\n");
        int d=strlen(k);
        for (int i=(d-1); i>=0; i--) {
               N=N+(k[i]-'0')*r;
                r=r*t;
            }
     cout<<N<<endl;
 system("pause");
 exit(0);
_getch();
    return 0;
}
Добавлено через 1 минуту
char это символьный тип переменной, сколько С++ изучаешь?
andy92
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 14
05.11.2010, 00:59  [ТС]     Перевод чисел и разных систем #5
Проблем в том что ипользуем только:
#include "iostream"
White Luna
 Аватар для White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
05.11.2010, 01:05     Перевод чисел и разных систем #6
вот так тогда попробуй
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "iostream"
using namespace std;
int _tmain()
{
    setlocale (LC_ALL, "Russian");
    int t=2, w=10, r=1, N=0;
    char k[200]={0}, a[200]={0};
        printf ("Введите исходное число :\n");
        scanf ("%s", k);
        
        printf ("Число в новой системе счисления :\n");
        int d=strlen(k);
        for (int i=(d-1); i>=0; i--) {
               N=N+(k[i]-'0')*r;
                r=r*t;
            }
     cout<<N<<endl;
 system("pause");
 exit(0);
    return 0;
}
Добавлено через 2 минуты
извиняюсь, были лишние данные , вот убрала
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "iostream"
using namespace std;
int _tmain()
{
    setlocale (LC_ALL, "Russian");
    int t=2, w=10, r=1,N=0;
    char k[200]={0};
        printf ("Введите исходное число :\n");
        scanf ("%s", k);
        
        printf ("Число в новой системе счисления :\n");
        int d=strlen(k);
        for (int i=(d-1); i>=0; i--) {
               N=N+(k[i]-'0')*r;
                r=r*t;
            }
     cout<<N<<endl;
 system("pause");
 exit(0);
    return 0;
}
andy92
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 14
05.11.2010, 01:09  [ТС]     Перевод чисел и разных систем #7
опять-таки много не используем
#include <iostream.h>

main ()
так програмы начинаем ещё ипользуем int float double if else while do while
вот из этого надо и сделать задачку(

Добавлено через 2 минуты
и мы ещё пишем через cout
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.11.2010, 01:11     Перевод чисел и разных систем #8
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
#include <iostream>
 
using namespace std;
 
 
int Pow(int base, int power){
    int p = 1;
    for (int i = 0; i < power; ++i)
        p *= base ;
    return p;
}
 
 
int BinToDec(int val){
    const int BASE = 2;
 
    int s = 0;
    int cnt = 0;
    while (val){
        s += (val % 10) * Pow(BASE,cnt);
        val /= 10;
        ++cnt;
    }
 
    return s;
}
 
 
 
int main()
{
    cout << BinToDec(10110110);
    return 0;
}
andy92
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 14
05.11.2010, 01:21  [ТС]     Перевод чисел и разных систем #9
Последнее что написанно вообще в С++ не запахало но всё равно есть что не изучали
Pow
const int BASE = 2;
return s;
int BinToDec(int val)
Понимаю,что очень глупо выгляжу,но сам не знаю,что делать

Добавлено через 1 минуту
Так ладно глупо просить,чтоб за тебя что-то сделали,подскажи как мне сделать ввод числа двуичного по 1 цыфре?
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.11.2010, 01:23     Перевод чисел и разных систем #10
Цитата Сообщение от andy92 Посмотреть сообщение
как мне сделать ввод числа двуичного по 1 цыфре?
зачем по одной?

Добавлено через 24 секунды
Цитата Сообщение от andy92 Посмотреть сообщение
Последнее что написанно вообще в С++ не запахало но всё равно есть что не изучали
на чем пишете?
andy92
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 14
05.11.2010, 01:28  [ТС]     Перевод чисел и разных систем #11
Нам сказали использывать Майкросойт Висуал Студио 6.0 вот там и пишу хотя старьё редко когда искал сам убедился.
Ну смотрите для того чтобы сделать из двуичного десятеричного нам надонайти колличесвто цыфр потом от колличества отнять один и умнажать ну дальше я думаю вы знаете вот бы мне как-то задать каждоу цыфру отдельно...
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.11.2010, 01:31     Перевод чисел и разных систем #12
на MSVC все работает
А какие ошибки пишет у вас?
andy92
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 14
05.11.2010, 01:34  [ТС]     Перевод чисел и разных систем #13
Пишу майкрососфт визуал студия там есть где писать нам сказали там писать,по одной цыфре для того чтобы узнать колличесвто цыфр и каждую иметь обозначенно как-то для перевода в систему 10ричную
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.11.2010, 01:35     Перевод чисел и разных систем #14
Цитата Сообщение от andy92 Посмотреть сообщение
нам сказали там писать,по одной цыфре для того чтобы узнать колличесвто цыфр и каждую иметь обозначенно как-то для перевода в систему 10ричную

Не по теме:

мдааааа

andy92
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 14
05.11.2010, 01:40  [ТС]     Перевод чисел и разных систем #15
Я понимаю в какм-то роде бред,но я ведь учусь подскажите ошиьки,что не правильно говорю.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2010, 03:25     Перевод чисел и разных систем
Еще ссылки по теме:

умножение чисел систем счисления C++
C++ направьте на путь истинный) перевод систем счисления
Перевод чисел из строки в массив чисел C++

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

Или воспользуйтесь поиском по форуму:
White Luna
 Аватар для White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
05.11.2010, 03:25     Перевод чисел и разных систем #16
так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "iostream"
using namespace std;
int _tmain()
{
    setlocale (LC_ALL, "Russian");
    int t=2, w=10, r=1,N=0;
    char k[200]={0};
    cout<<"Введите исходное число :\n";
        cin>>k;
        
        cout<< "Число в новой системе счисления :\n";
        int d=strlen(k);
        for (int i=(d-1); i>=0; i--) {
               N=N+(k[i]-'0')*r;
                r=r*t;
            }
        cout<<N<<endl;
 system("pause");
 exit(0);
    return 0;
}
Yandex
Объявления
05.11.2010, 03:25     Перевод чисел и разных систем
Ответ Создать тему
Опции темы

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