学校排行榜

(0)

投一票

二进制转与十进制相互转换。 官网

C 语言实例 - 二进制与十进制相互转换 二进制转与十进制相互转换。 实例 - 二进制转换为十进制 #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;} 尝试一下 输出结果为: 输入一个十进制数: 100Step 1: 100/2, 余数 = 0, 商 = 50Step 2: 50/2, 余数 = 0, 商 = 25Step 3: 25/2, 余数 = 1, 商 = 12Step 4: 12/2, 余数 = 0, 商 = 6Step 5: 6/2, 余数 = 0, 商 = 3Step 6: 3/2, 余数 = 1, 商 = 1Step 7: 1/2, 余数 = 1, 商 = 0十进制数 100 转换为二进制位 1100100
专业
评论
新闻
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。