c语言怎么将十进制转为二进制
c语言十进制转为二进制
在C语言中,将十进制转换为其它进制时比较复杂。
十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”法。具体做法是:
-
将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数;
-
保留余数,用商继续除以 N,又得到一个新的商和余数;
-
仍然保留余数,用商继续除以 N,还会得到一个新的商和余数;
-
……
-
如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。
把先得到的余数作为 N 进制数的低位数字,后得到的余数作为 N 进制数的高位数字,依次排列起来,就得到了 N 进制数字。
而十进制想要转为二进制,就是采用“除 2 取余,逆序排列”原则了:
-
将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字的二进制表示。
下图演示了将十进制数字 42 转换成二进制的过程:
从图中得知,十进制数字 42 转换成二进制的结果为 101010。
实现代码:
#include <stdio.h>
int main(void)
{
int n,length; //length用来装二进制数的个数
int a[20]; //定义一个数组来装余2得到的余数
scanf("%d",&n); //输入十进制的数字
while(n/2){ //当n=1时,n/2=0,此时while(0)不执行while中的语句,直接执行下面的语句
a[length ] = n%2; //将除2得到的余数装入数组中
n = n/2; //除二
}
a[length ] = n%2; //存储最后一个余数
//将余数从下往上输出
for(int i = length-1;i>=0;i--)
printf("%d",a[i]);
}
本文出至:学新通
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通
- 本文地址: https://www.swvq.com/boutique/detail/1851
- 联系方式: luke.wu@swvq.com
- 来源链接: www.php.cn/csharp-article-498184.html
系列文章
更多
同类精品
更多
精彩评论
-
docker hub 进不去怎么办
PHP中文网 03-15 -
2023年最新的28道PHP面试题附答案
PHP中文网 03-27 -
windows上查看nginx是否启动
PHP中文网 04-19 -
推荐五款xml编辑工具
PHP中文网 03-04 -
navicat怎样清除注册表
PHP中文网 04-05 -
ChatGPT应用通过Axios+EventSource使用GPT3.5 API
uWydnA 03-13 -
强力推荐10款好看使用的Bootstrap后台管理系统模板
PHP中文网 03-09 -
vscode怎么调整代码大小两种方法
PHP中文网 03-11 -
navicat连接sqlserver数据库
PHP中文网 04-03 -
navicat导入csv文件
PHP中文网 03-30