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

binary_system - C++

Войти
Регистрация
Восстановить пароль
 
Alex1205
 Аватар для Alex1205
6 / 6 / 1
Регистрация: 14.01.2011
Сообщений: 81
22.02.2011, 22:38     binary_system #1
Как в программе перевести число из двоичной системы в десятичную и наоборот?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4947 / 3023 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
22.02.2011, 22:56     binary_system #2
А как вы бы сделали это на бумаге?
Alex1205
 Аватар для Alex1205
6 / 6 / 1
Регистрация: 14.01.2011
Сообщений: 81
22.02.2011, 23:17  [ТС]     binary_system #3
1010=1*2(3)+0*2(0)+1*2(1)+0*2(0) = 1*8+0*4+1*2+0*1 = 8+0+2+0 = 10 Примерно так.

Добавлено через 59 секунд
0*2(2) точнее
silent_1991
Эксперт C++
4947 / 3023 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
22.02.2011, 23:18     binary_system #4
Alex1205, и что вам мешает проделать то же самое программно?
Digit@ll
23.02.2011, 00:34
  #5

Не по теме:

Гордость мешает. ))

MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
23.02.2011, 00:35     binary_system #6
Цитата Сообщение от Alex1205 Посмотреть сообщение
Как в программе перевести число из двоичной системы в десятичную и наоборот?
По мойму на форуме таких программ валом!!!
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
23.02.2011, 00:47     binary_system #7
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
#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
 
std::string decToSome(int numb, int base)
{
    std::string str;
    while(numb)
    {
        str.push_back(numb % base + '0');
        numb/=base;
    }
    std::reverse(str.begin(), str.end());
    return str;
}
 
int someToDec(std::string numb, int base)
{
    int res=0;
    int i=0;
    for(std::string::const_reverse_iterator iter=numb.rbegin(); iter != numb.rend(); ++iter)
    {
        res+=static_cast<int>((*iter - '0') * pow(static_cast<double>(base), static_cast<double>(i++)));
    }
    return res;
}
 
int main()
{
    std::string str=decToSome(64, 2);
    std::cout<<"In binary: "<<str<<'\n';
    std::cout<<"In dec: "<< someToDec(str, 2)<<'\n';
    return 0;
}
Yandex
Объявления
23.02.2011, 00:47     binary_system
Ответ Создать тему
Опции темы

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