首页 c语言各种进制转换

c语言各种进制转换

举报
开通vip

c语言各种进制转换c语言各种进制转换 c 语言 语各语制语语 语语语语语语语算机中常用的数的制主要有:二制语语、八制、十六制。语语语语语语语语 2语制,用两个阿拉伯数字:0、1, 8语制,用八个阿拉伯数字:0、1、2、3、4、5、6、7, 10语制,用十个阿拉伯数字:0到9, 16语制就是逢16语1,但我只有语语语0~9语语语十个数字,所以我用A,B,C,D,E,F语语语五个字母来分表 示10,11,12,13,14,15。字母不区分大小写。 以下介各制之的方法:语语语语语语语语语语语语语语 一、二制十制语语语语语语语 ...

c语言各种进制转换
c语言各种进制转换 c 语言 语各语制语语 语语语语语语语算机中常用的数的制主要有:二制语语、八制、十六制。语语语语语语语语 2语制,用两个阿拉伯数字:0、1, 8语制,用八个阿拉伯数字:0、1、2、3、4、5、6、7, 10语制,用十个阿拉伯数字:0到9, 16语制就是逢16语1,但我只有语语语0~9语语语十个数字,所以我用A,B,C,D,E,F语语语五个字母来分 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示10,11,12,13,14,15。字母不区分大小写。 以下介各制之的方法:语语语语语语语语语语语语语语 一、二制十制语语语语语语语 例:二制语语 “1101100” 1101100 ?二制数语语语 6543210 ?排位方法 例如二制算十制的算法语语语语语语语语语语: 1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20 ? ? 语明:2代表制,后面的数是次方,从右往左数,以语语语语语语语语语语语语语语语语语语0语 始,=64+32+0+8+4+0+0 =108 二、二制算八制语语语语语语语 例:二制的语语语“10110111011” 语语语语语语语语语语语语语语语语语语八制,从右到左,三位一,不0,即成了: 010 110 111 011 然后中的每语3个数分语语语4、2、1的状,然后将状语语语语语语语语语1的相加,如: 010 = 2 110 = 4+2 = 6 111 = 4+2+1 = 7 011 = 2+1 = 3 语语语果:2673 三、二制十六制语语语语语语语语 十六制二制的方法也似,只要语语语语语语语语语语语语语语语语语每4位,分语语语8、4、2、1就行了,如分解:语语 0101 1011 1011 运算:语语 0101 = 4+1 = 5 1011 = 8+2+1 = 11,由于10语A,所以11即B, 1011 = 8+2+1 = 11,由于10语A,所以11即B, 语语语果:5BB 四、二制数十制数语语语语语语语语语语 二制数第语语语语0位的是语语语2的0次方,第1位的是语语语2的1次方…… 所以,有一个二制数:语语语语语语语语语0110 0100,语语语10语语语 制: 语 算:0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100 五、八制数十制数语语语语语语语语语语 八制就是逢语语语语语8语1。 八制数采用语语语语语 0,7语 八数来表达一个数。 八制数第语语语语0位的语语语8的0次方,第1位语语语8的1次方,第2位语语语8的2次方…… 所以,有一个八制数:语语语语语语语语语1507,十制:语语语语语语语语 语 算:7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839 语语语语 果是,八制数1507 语语语语语语 成十制数839 六、十六制十制语语语语语语语 例:2AF5语算成10语 制 直接算就是:语语语语语 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997 (语语语语语忘了,在上面的算中,A表示10,而F表示15)、 语语语语语语在可以看出,所有制算成10语语语语语语语语语语语语语 制,在于各自的不同。假有人你,十数语语语语语语语语语 1234 语语 语语语语语语语语语什是一千二百三十四,你尽可以他一个算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100 十制与二制之相互算法语语语语语语语语语语语语语 十制二制:语语语语语语语 用2语语相除至果语语语1 将余数和最后的1从下向上倒序写就是果 语语 例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 故二制语语语100101110 二制十制语语语语语语 从最后一位始算,依次列第语语语语语语语语语0、1、2...位 第n位的数,0或1,乘以2的n次方 得到的果相加就是答案语语语语语语语语 例如:01101011.语语语十制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方,0 1乘2的3次方,8 0乘2的4次方,0 1乘2的5次方,32 1乘2的6次方,64 0乘2的7次方,0 然后:1,2,0,8,0,32,64,0,107, 二制语语01101011,十制语语107, 一、二制数成十制数语语语语语语语语语语 由二制数成十制数的基本做法是,把二制数首先写成加语语语语语语语语语语语语语语语语语语语语语语语语语语语语系数展式,然后按十制加法求和。做法称语语语语语语语语语语语语语语语语语语语语语语"按相加语语语"法。 二、十制数二制数语语语语语语语语语语 十制数二制数,由于整数和小数的方法不同,所以先语语语语语语语语语语语语语语语语语语语语语语语语语语语语语语将十制数的整数部分和小数部分分后,再加以合并。语语语语语语语语语语语语语语语语语语语语语语语语语 1. 十制整数二制整数语语语语语语语语语语语语 十制整数二制整数采用语语语语语语语语语语语语语语"除2取余,逆序排列"法。具体做法是:用2去除十制整数,语语语语语 可以得到一个商和余数,再用2去除商,又会得到一个商和余数,如此行,直到商零语语语语语语语语语语 止,然后把先得到的余数作二制数的低位有效位,后得到的余数作二语语语语语语语语语语语语语语语语语语语语语 语 制数的高位有效位,依次排列起来。 2,十制小数二制小数语语语语语语语语语语语语 十制小数成二制小数采用语语语语语语语语语语语语语语"乘2取整,序排列语语语语"法。具体做法是:用2乘十制小数,可语语语语语语 以得到,将的整数部分取出,再用语语语语语语语语语语语语语语2乘余下的小数部分,又得到一个,再将的整数部语语语语语语语语语 分取出,如此行,直到中的小数部分零,或者达到所要求的精语语语语语语语语语语语语语语语语语语语语语语语语度止。语语语 然后把取出的整数部分按序排列起来,先取的整数作二制小数的高语语语语语语语语语语语语语语语语语语语语语 位有效位,后取的整数作低位有效位。语语语语语语语 1,二制与十制的语语语语语语语语语 ,1,二制十制语语语语语语
方法:"按展求和语语语语语" 例: ,1011.01,2 ,,1×23,0×22,1×21,1×20,0×2,1,1×2,2,10 ,,8,0,2,1,0,0.25,10 ,,11.25,10 ,2,十制二制语语语语语语 ? 十制整数二制数:语语语语语语语语语语"除以2取余,逆序出语语" 例:, 89,10,,1011001,2 2 89 2 44 …… 1 2 22 …… 0 2 11 …… 0 2 5 …… 1 2 2 …… 1 2 1 …… 0 0 …… 1 ? 十制小数二制数:语语语语语语语语语语"乘以2取整,序出语语语语" 例: (0,625)10= (0,101)2 0,625 X 2 1,25 X 2 0,5 X 2 1,0 2,八制与二制的语语语语语语语语语 例:将八制的语语语37.416语语语语语语 成二制数: 37 , 4 1 6 011 111 ,100 001 110 即:,37.416,8 ,,11111.10000111,2 例:将二制的语语语10110.0011 语语语语语 成八制: 0 1 0 1 1 0 . 0 0 1 1 0 0 2 6 . 1 4 即:,10110.011,2 ,,26.14,8 3,十六制与二制的语语语语语语语语语
例:将十六制数语语语5DF.9 语语语语语 成二制: 5 D F , 9 0101 1101 1111,1001 即:,5DF.9,16 ,,10111011111.1001,2 例:将二制数语语语1100001.111 语语语语语 成十六制: 0110 0001 , 1110 6 1 , E 即:,1100001.111,2 ,,61.E,16 下面是通的功能的制语语语语语语语语语语语语 #include #include #define STACK_INIT_SIZE 100#define STACKINCREMENT 10//typedef char SElemType; typedef int SElemType; typedef struct{ SElemType *base; SElemType *top; int stacksize; }SqStack; void InitStack(SqStack &S){ S.base=(SElemType *)malloc(STACK_INIT_SIZE *sizeof(SElemType)); if(!S.base) printf("存分配失语语语语语"); S.top=S.base; S.stacksize=STACK_INIT_SIZE;} int Empty(SqStack S){ if(S.top==S.base) return 1; else return 0; } int GetTop(SqStack S,SElemType &e){ if(Empty(S)) return 0; e=*(S.top-1); return 1; } int Push(SqStack &S,SElemType e){ if(S.top-S.base>=S.stacksize){ S.base=(SElemType *)realloc(S.base, (S.stacksize+STACKINCREMENT)*sizeof(SElemType)); if(!S.base) printf("OVERFLOW"); S.top=S.base+S.stacksize; S.stacksize+=STACKINCREMENT; } *S.top++=e; return 1; } int Pop(SqStack &S,SElemType &e){ if(Empty(S)) return 0; e=*--S.top; return 1; } void DispStack(SqStack S){ SElemType *p; p=S.top; if(Empty(S)) printf("空语"); else{ while(p!=S.base){ printf("%c",*--p); } } } void Conversion(){ SqStack S; int N,a,e; InitStack(S); printf("要几制,语语语语语语语"); scanf("%d",&a); printf("语语语语语入待数"); scanf("%d",&N); while(N){ Push(S,N%a); N=N/a; } while(!Empty(S)){ Pop(S,e); printf("%d",e); } } void main(){ Conversion();}
本文档为【c语言各种进制转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_977556
暂无简介~
格式:doc
大小:25KB
软件:Word
页数:10
分类:互联网
上传时间:2017-09-30
浏览量:20