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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ иерархия классов http://www.cyberforum.ru/cpp-beginners/thread95822.html
помогите с классами, базовый класс-ювелирное украшение производный телевизор и стиральная машина в классе не должно быть виртуальных функций
C++ Пошаговая компиляция в Borland 5.01 Всем привет. С недавнего времени при пошаговой компиляции программки(F7) начало выскакивать окно CPU и пошаговость происходит не в окне программы, а в этом долбанном CPU. До самой программы дойти... http://www.cyberforum.ru/cpp-beginners/thread95816.html
C++ Найти с заданной точностью знач. выражения
Составить функцию возвращающую значение для решения представленной ниже задачи: Найти с заданной точностью значения выражения s=сумма ряда(x^n/n!); n от 1 до бесконечн.; Точность<=10^-4;...
вывод текста, определение количество слов в тексте, у которых первый и последний символы совпадают. C++
Здравствуйте. Прошу пожалуйста мне помочь с написанием этой программы. Всем за ранее огромное спасибо! Вы спасёте мне жизнь. =) Условие: Ввод данных осуществляется из файла с расширением .DAT....
C++ Как изменить кодировку вывода? http://www.cyberforum.ru/cpp-beginners/thread95729.html
Доброе утро всем. Помогите новичку. Только начал изучать программирование на С++ (в среде Visual Studio 2008 express), и столкнулся с первой проблемой, обьяснения которой ни в каких книжках пока не...
C++ Как делать log.txt? Реализацию объяснять не надо - сам справлюсь. А что выводу в лог подлежит и где именно этот вывод лучше сделать? подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,777
15.02.2010, 18:13
fs444, много раз уже числа в двоичном виде выводили. На вскидку пара способов:
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 <iostream>
 
void binPrn(unsigned d){
    for ( int i = CHAR_BIT * sizeof(int) - 1; i >= 0; --i )
        std::cout.put( (char)(((d >> i) & 1) + '0') );
    std::cout << std::endl;
}
 
void recBinPrn(unsigned d){
    if ( d / 2 )
        recBinPrn(d / 2);
    std::cout.put((char)(d % 2 + '0'));
}
 
int main(){
    int d;
    
    while ( true ){
        std::cout << "Dec number: ";
        std::cin >> d;
        if ( !d )
            break;
        binPrn(d);
        recBinPrn(d);
        std::cout << std::endl;
    }
    return 0;
}

Цитата Сообщение от Nameless One Посмотреть сообщение
bin+=(dec%2)*pow(10, i);//Присваиваем i-тому разряду остаток от деления
то есть, если в dec старший бит установлен в единицу, в bin получим 32-значное десятичное число? Плохие новости - в переменную типа int помещается десятизначное десятичное число, и то в старшем разряде больше двойки быть не может...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru