700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c语言实现二进制八进制十进制和十六进制的相互转化

c语言实现二进制八进制十进制和十六进制的相互转化

时间:2019-04-12 14:36:31

相关推荐

c语言实现二进制八进制十进制和十六进制的相互转化

c语言实现二进制八进制十进制和十六进制的相互转化

十进制转其他进制

(该程序以十转二为例)

#include<stdio.h>void change(int n)//利用递归将每次的余数倒序输出即为二进制数{if (n > 0){change(n / 2);//十转其他进制只需将2改为其他数字即可printf("%d", n % 2);}}int main(){int n;scanf("%d", &n);change(n);return 0;}

其他进制转十进制

二进制转十进制

int main(){int d = 0;char ch = {0 };while (ch = getchar(), ch != '\n'){d = d * 2 + ch - '0';//将二进制数的每一位视为字符进行转化,输入回车停止}printf("%d", d);return 0;}

八进制转十进制

八进制转十进制与二进制转十进制类似 只需更改一行代码

d=d*8+ch’0’;

十六进制转十进制

#include<stdio.h>int tran(char ch)//因为十六进制中有了字母代替数字,所以需要调用函数将值转化后返回{if (ch >= '0' && ch <= '9')return ch - '0';else if (ch >= 'A' && ch <= 'F')return 10 + ch - 'A';else//此处为输入是小写的情况return 10 + ch - 'a';}int main(){int d = 0;char ch = {0 };while (ch = getchar(), ch != '\n'){d = d * 16 + tran(ch);}printf("%d", d);return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。