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://codercto.com/courses/l/17.html

查看所有标签

Spring 3.x企业应用开发实战

Spring 3.x企业应用开发实战

陈雄华 / 电子工业出版社 / 2012-2-1 / 90.00元

内容简介 Spring 3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring 3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架、REST风格的Web编程模型等。这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发的难度,同时有效......一起来看看 《Spring 3.x企业应用开发实战》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具