int BinaryToDecimal(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 DecimalToBinary(int n) { long long binaryNumber = 0; int remainder, i = 1, step = 1;
while (n!=0) { remainder = n%2; n /= 2; binaryNumber += remainder*i; i *= 10; } return binaryNumber; }
int main() { setlocale(LC_ALL,"Rus"); long long bin; printf("Введите двоичное число: "); scanf("%lld", &bin); printf("%lld в двоичной = %d в десятичной", bin, BinaryToDecimal(bin));
int dec; printf("\nВведите десятичное число: "); scanf("%d", &dec); printf("%d в десятичной = %lld в двоичной", dec, DecimalToBinary(dec));
Answers & Comments
#include <math.h>
#include <locale.h>
int BinaryToDecimal(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 DecimalToBinary(int n)
{
long long binaryNumber = 0;
int remainder, i = 1, step = 1;
while (n!=0)
{
remainder = n%2;
n /= 2;
binaryNumber += remainder*i;
i *= 10;
}
return binaryNumber;
}
int main()
{
setlocale(LC_ALL,"Rus");
long long bin;
printf("Введите двоичное число: ");
scanf("%lld", &bin);
printf("%lld в двоичной = %d в десятичной", bin, BinaryToDecimal(bin));
int dec;
printf("\nВведите десятичное число: ");
scanf("%d", &dec);
printf("%d в десятичной = %lld в двоичной", dec, DecimalToBinary(dec));
return 0;
}