栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【c语言典例一】十进制的数转化为二进制和八进制

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【c语言典例一】十进制的数转化为二进制和八进制

 首先,介绍十进制转二进制的方法:

十进制整数转换为二进制整数十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

所以,十进制转为二进制的代码如下:

#include
void main()
{
	int x,m,n,i;
	int a[16]={0};//定义数组并赋值
	printf("请输入一个十进制的数:");
	scanf("%d",&m);//
	printf("将%d转化为二进制:n",m);
	for(i=0;i<16;i++)//对i循环16次
	{
		x=m%2;//m对2取余得到的值赋值给x
		n=m/2;//m整除2的值赋值给n
		m=n;//n的值再赋值给m以进行下一轮
		a[i]=x;//将取余的值赋给数组a
	}
	for( i=15;i>=0;i--)//让取余后的值从右往左依次输出
	{
		printf("%d",a[i]);
		if(i%4==0)//让每四个数一组依次输出,一个空格为距离
		{
			printf(" ");
		}
	}
}

 十进制的数用八进制来表示,我们可以用 八余法来写:

#include
int main()
{
	int x,m,n,i;
	int a[8]={0};
	printf("请输入一个十进制的数:");
	scanf("%d",&m);
    printf("将%d转化为一个八进制:n",m);
	for(i=0;i<8;i++)
	{
		x=m%8;
		n=m/8;
		m=n;
		a[i]=x;
	}
	for(i=0;i<8;i++)
	{
		printf("%d*8的%d次方+",a[i],i);
		//if("i%4==0");
		//{
			printf(" ");
		//}
	}
}

 得到如下结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779167.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号