递归:多种方法实现进制转换,实现系统原函数_itoa()
来源:互联网 发布:笔记本硬盘坏了数据恢复 编辑:程序博客网 时间:2024/06/05 04:09
实现方式一:
void to_2(int num){if (!num){return 0;}else{to_2(num / 2);printf("%d ", num % 2);}}void to_8(int num){if (!num){return 0;}else{to_8(num / 8);printf("%0x ", num % 8);}}void to_16(int num){if (!num){return 0;}else{to_16(num / 16);printf("%x ", num % 16);}}void main(){int num;scanf("%d", &num);printf("%d的二进制数:", num);to_2(num);printf("\n%d的八进制数:", num);to_8(num);printf("\n%d的十六进制数:", num);to_16(num);system("pause");}
测试结果:
<img src="http://img.blog.csdn.net/20150807225141342?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
-----------------------------------------------------------------
实现方式二:
void to2str(int num, int i, char str2[33]){if (!num){return 0;}else{to2str(num / 2, i + 1, str2);str2[i] = (num % 2) + '0';}}void to8str(int num, int i, char str8[33]){if (!num){return 0;}else{to8str(num / 8, i + 1, str8);str8[i] = (num % 8) + '0';}}void to16str(int num, int i, char str16[33]){if (!num){return 0;}else{to16str(num / 16, i + 1, str16);//位数向前if (num % 16 < 10){str16[i] = (num % 16) + '0';//字符整数的转换}else{//10 11 12 13 14 15str16[i] = (num % 16) - 10 + 'A';}}}//十进制转二、八、十六进制void main(){char str2[33] = { 0 };char str8[33] = { 0 };char str16[33] = { 0 };printf("请输入要转换的十进制数:");int num = 0;scanf("%d", &num);to2str(num, 0, str2);_strrev(str2);//字符串逆转printf("二进制数输出:%s\n", str2);to8str(num, 0, str8);_strrev(str8);printf("八进制数输出:%s\n", str8);to16str(num, 0, str16);_strrev(str16);printf("十六进制数输出:%s\n", str16);system("pause");}
0 0
- 递归:多种方法实现进制转换,实现系统原函数_itoa()
- 递归方法实现多种进制的转换
- 利用递归方法实现任意进制转换的方法
- 递归实现进制转换
- 多种实现函数回调的方法
- 任意进制转换的递归实现
- 递归法实现进制转换
- c++递归实现进制转换
- 进制转换(递归实现)
- 递归实现2~9进制转换
- 利用尾递归实现进制转换
- 编程:用递归函数实现数制转换
- 多种方法实现singleton
- 斐波拉契数列的递归、非递归、公式法多种方法实现
- 递归实现与实现转换数据的方法
- 数制转换 递归实现
- 递归实现数制转换
- 递归实现二进制转换
- 第79讲:单例深入讲解及单例背后的链式表达式学习笔记
- python select模块实现并发
- 1371 - Period
- volatile、ThreadLocal、synchronized等3个关键字区别
- 黑马程序员--集合List总结--java
- 递归:多种方法实现进制转换,实现系统原函数_itoa()
- hdu 1205 吃糖果(鸽巢原理)
- Http网络传递参数中文乱码问题解决办法
- 找出字符串中对称的子字符串的最大长度
- Caffe-图像识别训练
- Java实现排序算法之快速排序
- CSS字体设置
- hdu1754
- java中String字符的替换