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

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

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

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

Помогите пожалуйста начинающему программисту=)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2011, 21:51
Ответы с готовыми решениями:

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

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

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

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

2
111 / 112 / 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
28 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 60
12.05.2011, 22:51  [ТС] 3
Огромное спасибо! +
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2011, 22:51

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru