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

Перевести из двоичной системы счисления в десятичную - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм кодирования имен цифрами http://www.cyberforum.ru/cpp-beginners/thread1609150.html
Решил написать код для задачки из 3 класса на решение алгоритма. Но запутался в конце кода с 0 . Как сделать ,чтобы не было пробела в слове -al ksandr-. Это зашифрованное в цифрах имя писателя....
C++ Написать программу, выполняющую деление на 2 заданного числа до тех пор, пока не будет выполнено условие Написать программу, которая после ввода с клавиатуры числа будет выполнять деление на 2 до тех пор, пока результат не станет меньше либо равен 0,0005. суть задачи понимаю, но как составить до меня... http://www.cyberforum.ru/cpp-beginners/thread1609148.html
C++ Разложение в ряд Тейлора с указанной точностью
Не могу понять почему не сходятся значения, и как задать точность. #include "stdafx.h" #include <iostream> using namespace std; double fun(double ); double r9d(double , double ); int fact(int...
Дружественная функция найти произведение элементов в тех строках которые не содержат элементов кратных 3 C++
#include "stdafx.h" #include <cstdlib> #include <iostream> #include <string> #include <conio.h> using namespace std; class kl1 {
C++ Помогите разобрать чужой код http://www.cyberforum.ru/cpp-beginners/thread1609106.html
нам дали задание понять, что собственно написано в коде. Может кто подскажет как легче читать чужой код. Вот тот самый кусок кода, который мне надо разобрать. Помогите новичку! int F7(int c, int...
C++ Программа должна считать сумму всех элементов файла Программа должна считать сумму всех элементов файла р1. Но при компиляции выдает ответ 0. В чем может быть ошибка? #include <iostream> #include <fstream> using namespace std; void main() {... подробнее

Показать сообщение отдельно
Геомеханик
774 / 580 / 403
Регистрация: 26.06.2015
Сообщений: 1,378
11.12.2015, 11:49
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
#include <iostream>
 
//1-ый вариант
unsigned int bin_to_dec1(const char* b){
    unsigned int i, d, k = 0, n = 0;
    const char* p;
    for(p = b; *p; ++p)
        ;
    if(p > b)
        --p;
    while(p >= b){
        for(d = 1, i = 0; i < k; ++i)
            d *= 2;
        n += (unsigned int)((*p--) - '0') * d;
        ++k;
    }
    return n;
}
 
//2-ой вариант
unsigned int bin_to_dec2(const char* b){
    unsigned int n = 0;
    while(*b)
        n = (n << 1) | (unsigned int)((*b++) - '0');
    return n;
}
 
int main(void){
    std::cout << bin_to_dec1("1011100011101") << std::endl;
    std::cout << bin_to_dec2("1000110111011") << std::endl;
    return 0;
}
Пример работы кода
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru