二进制、八进制及十六进制之间的转换.ppt

二进制、八进制及十六进制之间的转换.ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二进制、八进制及十六进制之间的转换汇编

进制的基本知识 十进制转二进制 二进制转十六进制(四位截取法) 十六进制转二进制 二进制转十进制(四位截取法) MATLAB中的进制转换 基数:进位计数制所使用的数码个数 十进制:(D)有10个基数:0~~9,逢十进一 二进制:(B)有2个基数:0~~1,逢二进一 八进制:(O)有8个基数:0~~7,逢八进一 十六进制:(H)有16个基数:0~~9,A,B,C,D,E,F,逢十六进一 算法 除以2取余法:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数, 如此进行,直到商为0时为止,然后把先得 到的余数作为二进制数的低位有效位,后 得到的余数作为二进制数的高位有效位,依次排列起来。 #include stdio.h #define N 1000 void main() { int i,j,n,a[N]; printf(please input a number: ); scanf(%d,n); for(i=0;iN;i++) { if(n==0) break; a[i]=n%2; n=n/2; } for(j=i-1;j=0;j--) printf(%d,a[j]); } 算法 四位截取法:二进制中的每四位数对应十六进制中的一位数。如此对二进制进行分组,每四位分一组,同时对应着十六进制的一位数字。如下: 1010 1110 0011 其分成三个组对应如下。 A D 3 这样得到的十六进制数为:10143 #includestring.h int main() { char a[20],b[5]; int i,result = 0,k = 1,j = 0; printf(Please input a bin:\n); gets(a); for(i = strlen(a)-1;i = 0;i --) { if(a[i] == 1) result += 1 (k-1); if(k == 4 || i == 0) { switch(result) { case 10: b[j++]=A;break; case 11: b[j++]=B;break; case 12: b[j++]=C;break; case 13: b[j++]=D;break; case 14: b[j++]=E;break; case 15: b[j++]=F;break; default: b[j++]=result + 0;break; } result = 0; k = 0; } k ++; } b[j] = \0; printf(The ansewer is:\n); for(i = strlen(b)-1;i = 0;i --) printf(%c,b[i]); printf(\n); return 0; } 算法 十六进制向二进制进行转换,其实就是四位截取法的逆向过程,只要将每一位十六进制数用 四位相应的二进制数表示,即可完成转换。 例如:A94——1010 1001 0100 C357——1100 0011 0101 0111 二进制转十进制的四位截取算法:就是二进制的四位对于十进制的一位,具体的对应关系。如下: 例如:二进制 十进制 10 0100 1100 1011 2 4 12 11 二进制转十进制:bin2dec(A) 二进制转十六进制:bin2hex(A) 十进制转二进制:dec2bin(A) 十六进制转二进制:hex2bin(A) 任意进制的转换:base2dec(‘A’,B) A为数据矩阵,B为进制数

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档