C 语言实例 - 二进制与十进制相互转换
C 语言教程
· 2019-02-20 22:29:29
二进制转与十进制相互转换。
实例 - 二进制转换为十进制
#include <stdio.h>
#include <math.h>
int convertBinaryToDecimal(long long n);
int main()
{
long long n;
printf("输入一个二进制数: ");
scanf("%lld", &n);
printf("二进制数 %lld 转换为十进制为 %d", n, convertBinaryToDecimal(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;
}
输出结果为:
输入一个二进制数: 110110111 二进制数 110110111 转换为十进制为 439
实例 - 十进制转换为二进制
#include <stdio.h>
#include <math.h>
long long convertDecimalToBinary(int n);
int main()
{
int n;
printf("输入一个十进制数: ");
scanf("%d", &n);
printf("十进制数 %d 转换为二进制位 %lld", n, convertDecimalToBinary(n));
return 0;
}
long long convertDecimalToBinary(int n)
{
long long binaryNumber = 0;
int remainder, i = 1, step = 1;
while (n!=0)
{
remainder = n%2;
printf("Step %d: %d/2, 余数 = %d, 商 = %d\n", step++, n, remainder, n/2);
n /= 2;
binaryNumber += remainder*i;
i *= 10;
}
return binaryNumber;
}
输出结果为:
输入一个十进制数: 100 Step 1: 100/2, 余数 = 0, 商 = 50 Step 2: 50/2, 余数 = 0, 商 = 25 Step 3: 25/2, 余数 = 1, 商 = 12 Step 4: 12/2, 余数 = 0, 商 = 6 Step 5: 6/2, 余数 = 0, 商 = 3 Step 6: 3/2, 余数 = 1, 商 = 1 Step 7: 1/2, 余数 = 1, 商 = 0 十进制数 100 转换为二进制位 1100100
点击查看所有 C 语言教程 文章: https://www.codercto.com/courses/l/17.html
Python for Data Analysis
Wes McKinney / O'Reilly Media / 2012-11-1 / USD 39.99
Finding great data analysts is difficult. Despite the explosive growth of data in industries ranging from manufacturing and retail to high technology, finance, and healthcare, learning and accessing d......一起来看看 《Python for Data Analysis》 这本书的介绍吧!