Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Kirillys
0 / 0 / 0
Регистрация: 18.05.2016
Сообщений: 11
1

Конвертируем двоичные числа в десятичные и наоборот

17.02.2019, 19:11. Просмотров 340. Ответов 1
Метки нет (Все метки)

Здравствуйте Уважаемые форумчане!

в одной книге по языку Си есть пример программы для конвертации двоичного числа в десятичное и наоборот, есть так же исходник. После компиляции и запуска кода, часть ответственная за конвертацию числа из двоичной системы в десятичную работает нормально, а вот часть программы для конвертации десятичной в двоичную выдает ерунду. К сожалению не смог разобраться.
Вместо двоичного числа выдается очень большое десятичное.
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
36
37
38
39
40
41
#include<stdio.h>
#include<math.h>
 
int convertBinaryToDecimal(long long n);
long long convertDecimalToBinary(int n);
 
int main(){
    
    long long n;
    printf("Введите двоичное число: ");
    scanf("%lld",&n);
    printf("%lld (двоичное) = %d (десятичное)\n",n, convertBinaryToDecimal(n));
    printf("Введите десятичное число: ");
    scanf("%d",&n);
    printf("%d (десятичное) = %lld (двоичное)\n",n,convertDecimalToBinary(n));
    return 0;
}
int convertBinaryToDecimal(long long n){
    
    int decimalNumber=0,i=0,remainder;
    while(n!=0){
        remainder=n%10;
        n/=10;
        decimalNumber +=remainder*pow(2,i);
        i++;
    }
    return decimalNumber;
}
long long convertDecimalToBinary(int n){
    
    long long binaryNumber=0;
    int remainder, i=1,step=1;
    while(n!=0){
        remainder=n%2;
        printf("Шаг %d: %d/2, Остаток = %d, Частное = %d\n",step++,n,remainder,n/2);
        n/=2;
        binaryNumber +=remainder*i;
        i*=100;
    }
    return binaryNumber;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2019, 19:11
Ответы с готовыми решениями:

Десятичные, двоичные и др. ичные формы ряда чисел. Компиляция failed
Напишите программу, печатающую в файл таблицу, строки которой соответствуют десятичным числам от 1...

Чтение строк (Из шестнадцатеричных в десятичные числа)
Здравствуйте, товарищи! Проблема! Писал программу , которая должна принимать из файла...

Удалить десятичные числа не превышающие INT_MAX
Решите, пожалуйста, задачу :) Программа должна работать с любым количеством вводимой информации....

Сложить двоичные числа и вывести ответ в двоичном и десятичном виде
Даны два неотрицательных числа в двоичной системе счисления. Необходимо сложить их и вывести ответ...

Составить алгоритм поиска числа десятичные цифры которого удовлетворяют заданным условиям
Сумма*квадратов цифр некоторого двузначного числа на 1 больше утроенного произведения этих цифр....

1
CoderPC
242 / 162 / 76
Регистрация: 12.02.2019
Сообщений: 573
17.02.2019, 19:37 2
C
1
2
3
4
5
6
7
8
9
10
int convertBinaryToDecimal(long long n)
{
    int decimalNumber=0;
    for(; n; n/=10)
    {
        decimalNumber<<=1;
        decimalNumber +=n%2;
    }
    return decimalNumber;
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2019, 19:37

По введенному числу М распечатать все трехзначные десятичные числа, сумма цифр которых равна М
По введенному числу М распечатать все трехзначные десятичные числа, сумма цифр которых равна М....

Перевести десятичные числа в двоичные с точностью до 10–8
Перевести десятичные числа в двоичные с точностью до 10–8. Для полученных двоичных чисел записать...

Преобразовать десятичные числа 121 и 17 в двоичные.
С помощью подпрограммы преобразовать десятичные числа 121 и 17 в двоичные.


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

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

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