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

Программа для перевода чисел из 10сс в 2сс - C++

Восстановить пароль Регистрация
 
Rolan_Pro
 Аватар для Rolan_Pro
5 / 5 / 1
Регистрация: 20.04.2011
Сообщений: 87
16.05.2011, 20:04     Программа для перевода чисел из 10сс в 2сс #1
Всем здорова!
Вот тут такая проблема, в код написан правильно, работает, но вот, под строку вывода числа конечного зарезервировано 30 символов, а ведь число может быть и больше и меньше, прога тупо остально нулями заполняет. Помогите сделать так, что бы кол-во зарезрвированных символов было столько, сколько их в конечном результате.
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
#include <iostream>
#include <string.h>
int main()
{
    long long int i;
    int value;
    std::cout << "×èñëî Гў äåñÿòè÷Г*îé cc > ";
    std::cin >> value;
    std::cout << "\nÐåçóëüòГ*ГІ: ";
    for (i = 30 ; i >= 0; i--)  \\ i = 30 вот тут тема
        {
        if ((1 << i) & value)
                {
            std::cout << "1";
        }
        else
        {
            std::cout << "0";
        }
    }
 
    std::cout << std::endl;
 
    system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
16.05.2011, 20:28     Программа для перевода чисел из 10сс в 2сс #2
Если не ошибаюсь, длина двоичной записи десятичного числа i - это логарифм i+1 по основанию 2, округленный вверх.
Rolan_Pro
 Аватар для Rolan_Pro
5 / 5 / 1
Регистрация: 20.04.2011
Сообщений: 87
16.05.2011, 20:30  [ТС]     Программа для перевода чисел из 10сс в 2сс #3
Извини, не понимаю.
Можешь кодом подсказать?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
16.05.2011, 20:32     Программа для перевода чисел из 10сс в 2сс #4
C++
1
log10(num) + 1
Rolan_Pro
 Аватар для Rolan_Pro
5 / 5 / 1
Регистрация: 20.04.2011
Сообщений: 87
16.05.2011, 20:34  [ТС]     Программа для перевода чисел из 10сс в 2сс #5
А куда это? Только начинаю писать на С++
Onishare
30 / 30 / 5
Регистрация: 07.05.2011
Сообщений: 50
16.05.2011, 20:35     Программа для перевода чисел из 10сс в 2сс #6
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
#include <iostream>
#include <string.h>
 
using namespace std;
 
int main()
{
        int value;
        cout << "Число в десятичной cc > ";
        cin >> value;
        cout << "\nРезультат: ";
        int size = sizeof(int) * 8 - 1;
        bool nofirst = false;
        for (int i = size; i >= 0; --i) {
          if ((1 << i) & value) { 
            std::cout << "1";
            nofirst = true;
          }
          else if (nofirst) std::cout << "0";
        }
 
        std::cout << std::endl;
 
        system("pause");
}
Yandex
Объявления
16.05.2011, 20:35     Программа для перевода чисел из 10сс в 2сс
Ответ Создать тему
Опции темы

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