c语言怎么将十进制转为二进制
时间:2022-11-24 10:27
十进制转为二进制的方法:将十进制数字不断除以2直到商为零,然后将余数由下至上依次写出即可;转换代码“int main(void){int n,len;int a[20];scanf("%d",&n);while(n/2){a[len++]=n%2;n=n/2;}a[len++]=n%2;for(i=len-1;i>=0;i--){printf("%d",a[i]);}}”。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 c语言十进制转为二进制 在C语言中,将十进制转换为其它进制时比较复杂。 十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”法。具体做法是: 将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数; 保留余数,用商继续除以 N,又得到一个新的商和余数; 仍然保留余数,用商继续除以 N,还会得到一个新的商和余数; …… 如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。 把先得到的余数作为 N 进制数的低位数字,后得到的余数作为 N 进制数的高位数字,依次排列起来,就得到了 N 进制数字。 而十进制想要转为二进制,就是采用“除 2 取余,逆序排列”原则了: 将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字的二进制表示。 下图演示了将十进制数字 42 转换成二进制的过程: 从图中得知,十进制数字 42 转换成二进制的结果为 101010。 实现代码: 相关推荐:《C视频教程》 以上就是c语言怎么将十进制转为二进制的详细内容,更多请关注gxlsystem.com其它相关文章!#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]);
}