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

itoa(); - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
12.05.2011, 10:25     itoa(); #1
вопрос!!!
вводится массив элементов типа unsigned char двоичным числом, т.е только 0 и 1... как перевести мое вводимое число в десятичную систему???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 10:25     itoa();
Посмотрите здесь:

C++ дополнение к itoa()
C++ itoa
unsigned itoa and atoi C++
Не работает функция itoa C++
C++ функции atoi и itoa
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LineStown
12.05.2011, 10:26
  #2

Не по теме:

Советую погуглить на тему перевода чисел.
Тема не то что боян, а.........

2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
12.05.2011, 10:29  [ТС]     itoa(); #3
ты думаешь я не писал это. Мне нужно понять сам смысл.
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
12.05.2011, 10:36     itoa(); #4
смысл перевода из одной системы в другую?

Добавлено через 1 минуту
или как из масива переводить?
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
12.05.2011, 10:39  [ТС]     itoa(); #5
нужно разобраться.. смотри!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{char f[1000],g[1111],m[100];
int n1,n2,n3;
cin>>f;
n1=atoi(f);
_itoa(n1, m, 10);
n2=atoi(m);
 
 
  cout<<n2;
 
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
вот код, число вводится как двоичное т.е 1000=8, он должен на выходе дать мне 8, а не как ни 1000, а дает именно 1000.......ГАД!!!!!!!!!!!!!!
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
12.05.2011, 10:42     itoa(); #6
atoi
переводит строку в десятичную систему, 1000 для atoi это и есть 1000, но не двоичное число.
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
12.05.2011, 10:42  [ТС]     itoa(); #7
вооот , ты начинаешь меня понимать!!!!.....а как сделать что бы 1000 стала 8???
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
12.05.2011, 10:45     itoa(); #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
35
36
37
38
39
40
41
42
43
//08.01.Написать функцию, которая получает в качестве аргументов целое положительное число и систему счисления, 
//в которую это число должно переводится (системы счисления от 2 до 36). Например, при переводе числа 27 в систему 
//счисления 16 должно получиться 1B; 13 в 5-ю - 23; 35 в 18-ю - 1H.
#include<iostream>
using namespace std;
void o10(int a)
{
    if(a>10)cout << char(a+55);
    else cout << a;
}
void system(int a,int b)
{
    if((b<3)||(b>35))cout << "Система не корректная\n";
    else
    {
        int s;
        s=0;
        while(a>=b)
        {
            a-=b;
            s++;
            if(s==b)
            {
                o10(s);
                s=0;
            }
        }
        if(s!=0)o10(s);
        if(a!=0)o10(a);
        cout << endl;
    }
}
int main()
{
    setlocale(LC_ALL,"Russian");
    int a,b;
    cout << "Введите число: ";
    cin >> a;
    cout << "Введите систему: ";
    cin >> b;
    system(a,b);
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от 2008kedr2008 Посмотреть сообщение
вооот , ты начинаешь меня понимать!!!!.....а как сделать что бы 1000 стала 8???
Смотри пост выше) Как переводятся системы читай)
Все просто как веник, пройтись по масиву с конца к началу, суммирую степени двоек
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
12.05.2011, 10:49  [ТС]     itoa(); #9
нееееельзяяяяяяяяя мне так делать!!!!!!!!!!! мне нужно что бы работать было с бесконечными числами, миллиардами и болеееее!!!!!
Я циклом писал, но мне крест на этом поставили!!!
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
12.05.2011, 10:57     itoa(); #10
А кто те мешает тестить большие числа?
Или у масива есть ограничение по длинне?
Или нельзя узнать длинну масива?
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
12.05.2011, 10:58  [ТС]     itoa(); #11
ну так то там не массив a list=)))
ну и в самой задачи мне нужно умножение реализовать!!!
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
12.05.2011, 11:01     itoa(); #12
Слушай человек, ты определись что тебе нужно.
По данной теме тебе всё сказано.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2011, 11:03     itoa();
Еще ссылки по теме:

C++ не работает itoa
C++ Itoa И String
C++ Реализация функции itoa

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

Или воспользуйтесь поиском по форуму:
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
12.05.2011, 11:03  [ТС]     itoa(); #13
ну так то ты сам посмотри, самый простой способ умножить два двоичных числа это перевести их в десятичную систему и перемножить , а потом обратно в двоичную, но по ходу задачи у меня куда вопросов возникает!!!!
Yandex
Объявления
12.05.2011, 11:03     itoa();
Ответ Создать тему
Опции темы

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