C/C++编程中关于进制之间的转换操作和范例

计算机是计算二进制的,而我们日常生活中多以十进制的运算为主。初次之外还有8进制和16进制等等,这里我们主要来介绍下在C/C++编程中如何对各进制之间的数据进行任意转换。


第一种手动方法,我们可以使用竖式计算法
第0位: 5 * 16^0 = 5
第1位: F * 16^1 = 240
第2位: A * 16^2= 2560
第3位: 2 * 16^3 = 8192
这样就能对各进制之间的数据进行手工计算了。

一般在进行进制计算时,我们还是有一定的规律可以遵循的,比如说十进制转换成二进制、八进制、十六进制:将十进制的数字除以2(8、16),得到的商数继续除以2,直到商数为0,然后将各次相除所得的余数从后往前排列。这样计算起来就会比较快也很方便。
二进制、八进制、十六进制转换成十进制:将二进制、八进制、十六进制数的每一位数从高位到低位乘以2的n-1次幂,n为该位所在的位数。
二进制和八进制之间的转换:每个八进制数字转换成3位二进制数字。
二进制和十六进制之间的转换:每个十六进制数字转化成4位二进制数字。


第二种采用编程语言运算进制转换
下面我们以一个C语言代码的范例进行一下运算,具体代码如下;
#include<stdio.h>
main()
{
    int a=200, b=010;
    printf(“%d%d\n”,a,b);
}
在代码中八进制数010转换成十进制数为8,然后按”%d%d”格式分别输出a、b,两个字母,最后就可以得出2008数字了。


总结
进制的转换对于我们日常习惯了10进制的算法还是有点难度的, 但是通过程序直接使用进制转换或变量转换就可以得到非常快的计算。而且在我们进行网络编程和计算机硬件编程的时候进制的转换是非常普遍的事情。所以打好基础非常重要,对以后的编程道路会更加的顺畅。

本文由作者自行上传发布,文章仅代表作者个人观点。如需转载,务必声明出处和网址,否则保留相关权利。

网友评论 comments

发表评论

电子邮件地址不会被公开。必填项已用 *标注

暂无评论

牛人技术博客 | AboutUS | 湘ICP备13000282号-8 |
Copyright © 2009 - 2019 NRJS Corporation, All Rights Reserved
添加图标到手机桌面
扫二维码
扫二维码
返回顶部