Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
kudpro
28 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 60
#1

Написать программу, которая преобразует введенное с клавиатуры восьмиразрядное двоичное число в десятичное

12.05.2011, 21:51. Просмотров 3157. Ответов 2
Метки нет (Все метки)

Задание:
Написать программу, которая преобразует введенное с клавиатуры восьмиразрядное
двоичное число в десятичное. Написать на языке Cи.

Помогите пожалуйста начинающему программисту=)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 21:51
Ответы с готовыми решениями:

Написать программу, которая преобразует введенное с клавиатуры двухразрядное шестнадцатеричное число в десятичное
Помогите пожалуйста решить три задачки на С++. Заранее сильно благодарен! ...

Написать программу которая преобразует введенное с клавиатуры трехразрядное шестнадцатеричное число в десятичное
Помогите пожалуйста с программой!Язык С++! "Написать программу которая...

Преобразовать введенное с клавиатуры двоичное восьмиразрядное число в десятичное
Преобразовать введенное с клавиатуры восьмиразрядное двоичное число в...

Разработайте программу, которая преобразует введенное с клавиатуры дробное число в денежный формат
Разработайте программу, которая преобразует введенное с клавиатуры дробное...

Составьте программу, которая преобразует введенное с клавиатуры дробное число в денежный формат
Составьте программу, которая преобразует введенное с клавиатуры дробное число в...

2
resource2008
109 / 109 / 18
Регистрация: 11.03.2011
Сообщений: 421
12.05.2011, 22:41 #2
Лучший ответ Сообщение было отмечено kudpro как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdio.h"
#include "math.h"
 
int main()
{
 
    char    keyb_array[10];     // keyboard input buffer
    int     result = 0;
    int counter = 0;
    
    gets(keyb_array);
 
    for (counter = 0; counter < 8; counter++ )
    {
        result += (int)( keyb_array[ counter ] - 0x30 ) * pow(2.0, 7 - counter);
    }
 
    printf("%i", result);
    return result;
}
C++
1
...keyb_array[ counter ] - 0x30...
- переводим символ цифру в число, соответствующее этой цифре

формат ввода: старший разряд ------ младший разряд
если нужен обратный порядок - "pow(2.0, 7 - counter)" заменить на "pow(2.0, counter)"

Добавлено через 9 минут
поперло меня, более красивое и (по идее) быстрое решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdio.h"
 
int main()
{
 
    char    keyb_array[10];     // keyboard input buffer
    int     result = 0;
    int counter = 0;
    
    gets(keyb_array);
 
    for (counter = 0; counter < 8; counter++ )
    {
        result = result<<1;
        result += (int)( keyb_array[ counter ] - 0x30 );
    
    }
 
    printf("%i", result);
    return result;
}
вместо возведения в степень двойки (как нас в школе учили) с помощью pow() лучше, да и проще, использовать побитовый сдвиг
2
kudpro
28 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 60
12.05.2011, 22:51  [ТС] #3
Огромное спасибо! +
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2011, 22:51

Написать программу, которая переделывает введенное с клавиатуры двуразрядное 16иричное в десятичное
Написать программу, которая переделывает введенное с клавиатуры двуразрядное...

Требуется написать прогу которая преобразуют двоичное число в десятичное
Вообщем я пишу контрольную помогите плиз кто знает с использованием цикла...

Написать программу, которая проверяет, находится ли введенное с клавиатуры число в массиве.
Написать программу, которая проверяет, находится ли введенное с клавиатуры...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru