c语言如何将十进制转为二进制

本篇内容主要讲解“c语言如何将十进制转为二进制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c语言如何将十进制转为二进制”吧!

十进制转为二进制的方法:将十进制数字不断除以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]);}}”。

c语言十进制转为二进制

在C语言中,将十进制转换为其它进制时比较复杂。

十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”法。具体做法是:

  • 将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数;

  • 保留余数,用商继续除以 N,又得到一个新的商和余数;

  • 仍然保留余数,用商继续除以 N,还会得到一个新的商和余数;

  • ……

  • 如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。

把先得到的余数作为 N 进制数的低位数字,后得到的余数作为 N 进制数的高位数字,依次排列起来,就得到了 N 进制数字。

十进制想要转为二进制,就是采用“除 2 取余,逆序排列”原则了:

  • 将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字的二进制表示。

下图演示了将十进制数字 42 转换成二进制的过程:

c语言如何将十进制转为二进制  c语言 第1张

从图中得知,十进制数字 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]);
}

c语言如何将十进制转为二进制  c语言 第2张

到此,相信大家对“c语言如何将十进制转为二进制”有了更深的了解,不妨来实际操作一番吧!这里是蜗牛博客网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram