Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задача на двоичную систему исчесления 
:(
    Опции темы
bemol5
Дата 24.6.2013, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 24.6.2013

Репутация: нет
Всего: нет



Вот решил задачу на перевод двоичного числа в десятичный эквивалент.
Но видимо что-то не правильно сделал: при вводе числа, больше 10 символов, показывает результат со знаком минус.
Что я сделал не так? Вот код.
Код

 #include <iostream> 
 using std::cout; 
 using std::endl; 
 using std::cin;
 
 int main() 
 { 
     int a;
     cin >> a;
     int b = 0;
     int i = 1;
     int c = a;
     int d = 0;
     while ( c != 0 )
     {
         cout << i;
         b = c % 10;
         cout << "\t" << b << endl;
         d += b * i; 
         c /= 10; 
        
         i*=2;
        
     }
     cout << endl << d << endl;

 system("pause");
 return 0; // показывает успешное завершение 
 } 

PM MAIL   Вверх
volatile
Дата 24.6.2013, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Цитата(bemol5 @  24.6.2013,  20:43 Найти цитируемый пост)
при вводе числа, больше 10 символов, показывает результат со знаком минус.

там идет переполнение int (32 разр.)





PM MAIL   Вверх
feodorv
Дата 24.6.2013, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(bemol5 @  24.6.2013,  21:43 Найти цитируемый пост)
Что я сделал не так?

Цитата(bemol5 @  24.6.2013,  21:43 Найти цитируемый пост)
     int a;
     cin >> a;

Вводите двоичное число в виде строки smile 


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
bemol5
Дата 24.6.2013, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 24.6.2013

Репутация: нет
Всего: нет



Спасибо за совет.
Сори за оффтоп. Скажите, можно ли в будущем ещё задавать такого рода вопросы? Потому что одному сложновато справляться с заданиями. Я изучаю язык по книге Дейтлов "Как программировать на С++"
PM MAIL   Вверх
feodorv
Дата 24.6.2013, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(bemol5 @  24.6.2013,  23:42 Найти цитируемый пост)
Скажите, можно ли в будущем ещё задавать такого рода вопросы?

Конечно, можно smile 


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0680 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.