当前位置: 首页> 房产> 家装 > 大企业网络设计的思路_成都展厅设计企业_站长seo查询工具_历下区百度seo

大企业网络设计的思路_成都展厅设计企业_站长seo查询工具_历下区百度seo

时间:2025/7/19 21:01:58来源:https://blog.csdn.net/weixin_45778846/article/details/143598077 浏览次数:0次
大企业网络设计的思路_成都展厅设计企业_站长seo查询工具_历下区百度seo

题目:进制转换

#pragma once#include<stdio.h>
#include<ctype.h>
#include<string.h>/// <summary>
/// //将字符串表示的任意进制数转为十进制
/// </summary>
/// <param name="str">字符串</param>
/// <param name="base">当前进制数2、8、16</param>
/// <returns></returns>
long stringToDecimal(const char* str, int base)
{long result = 0;int multiplier = 1;int len = strlen(str);//从字符串末尾开始解析for (int i = len - 1; i >= 0; i--){char ch = tolower(str[i]);//将字符转换为小写int digit = -1;if (ch >= '0' && ch <= '9'){digit = ch - '0';//将字符转为对应的数字}else if (base == 16 && (ch >= 'a' && ch <= 'f')){digit = ch - 'a' + 10;}else if(ch < '0' || (ch > '9' && base != 16) || (base == 16 && ch > 'f'))//错误的情况{return 0;}//检查进制数是否在有效范围内if (digit >= base){return 0;//非法字符}//累加结果result += digit * multiplier;multiplier *= base;}return result;}/// <summary>
/// 将十进制数转为任意的r进制数
/// </summary>
/// <param name="num"></param>
/// <param name="r"></param>
void ConvertToBaseR(int num, int r)
{int index = 0;char result[65];//假设转换后的数不超过64位//处理num为0的情况if (num == 0){printf("0");return;}while (num > 0){int remainder = num % r;//获取最后一位数字if (remainder < 10){result[index++] = '0' + remainder;//余数小于10的数字, 将其转换成0~9之间的字符}else{result[index++] = 'A' + (remainder + 10);//余数大于等于10的数字, 将其转换成A ~ F之间的字符}num /= r;//更新下一次计算的数字num}result[index] = '\0';//在字符串末尾添加字符串结束符//由于是从低位到高位存, 所以反向打印for (int i = index - 1; i >= 0; i--){printf("%c", result[i]);}printf("\n");
}
关键字:大企业网络设计的思路_成都展厅设计企业_站长seo查询工具_历下区百度seo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: