当前位置: 首页 > wzjs >正文

微信小程序营销推广win10系统优化工具

微信小程序营销推广,win10系统优化工具,宽带业务办理一年多少钱,找培训学校去哪个网站在C中进行进制转换可以通过标准库函数或自定义算法实现。以下是两种常见场景的转换方法及示例代码&#xff1a; 一、使用C标准库函数 任意进制转十进制 #include <string> #include <iostream>int main() {std::string num "1A3F"; // 十六进制数int…

在C++中进行进制转换可以通过标准库函数或自定义算法实现。以下是两种常见场景的转换方法及示例代码:

一、使用C++标准库函数

  1. 任意进制转十进制
#include <string>
#include <iostream>int main() {std::string num = "1A3F"; // 十六进制数int decimal = stoi(num, nullptr, 16); // 第三个参数指定原始进制std::cout << decimal; // 输出:6719
}
  1. 十进制转其他进制
#include <bitset>
#include <iostream>int main() {int num = 255;// 转二进制(8位)std::cout << std::bitset<8>(num) << "\n"; // 11111111// 转十六进制(小写)std::cout << std::hex << num << "\n"; // ff// 转八进制std::cout << std::oct << num; // 377
}

二、自定义转换函数(支持任意2-36进制)

1. 十进制转任意进制
#include <algorithm>
#include <string>std::string dec_to_base(int num, int base) {if (base < 2 || base > 36) return "";std::string result;const char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";while (num > 0) {result += digits[num % base];num /= base;}if (result.empty()) return "0";std::reverse(result.begin(), result.end());return result;
}// 示例:dec_to_base(255, 16) 返回 "FF"
2. 任意进制转十进制
#include <cctype>
#include <string>int base_to_dec(std::string num, int base) {if (base < 2 || base > 36) return -1;int result = 0;for (char c : num) {int value = isdigit(c) ? c - '0' : toupper(c) - 'A' + 10;if (value >= base) return -1; // 非法输入result = result * base + value;}return result;
}// 示例:base_to_dec("FF", 16) 返回 255

三、完整示例代码

#include <iostream>
#include <algorithm>
#include <string>using namespace std;// 十进制转任意进制(2-36)
string dec_to_base(int num, int base) {if (base < 2 || base > 36) return "Invalid base";string result;const char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";do {result += digits[num % base];num /= base;} while (num > 0);reverse(result.begin(), result.end());return result.empty() ? "0" : result;
}// 任意进制转十进制(2-36)
int base_to_dec(string num, int base) {if (base < 2 || base > 36) return -1;int result = 0;for (char c : num) {int value = isdigit(c) ? c - '0' : toupper(c) - 'A' + 10;if (value >= base) return -1;result = result * base + value;}return result;
}int main() {// 十进制255转十六进制cout << dec_to_base(255, 16) << endl; // 输出FF// 二进制11111111转十进制cout << base_to_dec("11111111", 2) << endl; // 输出255// 三十六进制转换示例cout << dec_to_base(1234, 36) << endl; // 输出YAcout << base_to_dec("YA", 36) << endl;  // 输出1234return 0;
}

四、注意事项

  1. 有效性检查:需验证输入数值是否合法(如二进制不能包含2-9)
  2. 大小写处理:自定义函数默认处理大写字母,可修改toupper()tolower()处理小写
  3. 负数处理:示例代码未处理负数,需要时可添加符号处理
  4. 大数支持:对于超过int范围的数值,建议使用字符串处理或long long类型

如果需要处理超大数(超过long long范围),需要使用字符串进行逐位计算的算法。这里展示的是最常用的基本实现方法。

http://www.dtcms.com/wzjs/197922.html

相关文章:

  • 企业网站建设标准怎么注册一个自己的网址
  • 招聘网站可以做两份简历吗东莞seo
  • 经营网站备案信息管理系统金昌网站seo
  • 中文网页搜索seo优化
  • 做网站建设的上市公司有哪些应用商店aso优化
  • 源码网站模板seo工作内容和薪资
  • 石家庄网站排名推广怎么做网络营销推广啊
  • 用视频做网站背景东莞网站建设推广技巧
  • 成都学生做网站如何开发网站
  • 建设银行etc官方网站站长工具ping
  • 哥哥做姐姐干网站深圳网络优化推广公司
  • 移动互联网公司seo管理平台
  • 做货源的网站天津企业seo
  • 可以做兼职的网站有哪些工作微信公众号运营推广方案
  • jimdo做的网站广州企业网站seo
  • 奥林匹克做校服的网站产品推广文案范例
  • 企业网站建设新站深圳seo排名哪家好
  • 淘宝上做网站排名靠谱吗站长统计app进入网址新版小猪
  • 毕业设计做网站 如何做百度指数关键词搜索趋势
  • 舆情报告模板南安seo
  • 长沙网站制作刚刚突发1惊天大事
  • 深圳在建工程查询北京seo外包
  • 三 网站开发使用软件环境山东服务好的seo
  • 网站建设教程 mysql2000元代理微信朋友圈广告
  • 厚街网站建设价格网络营销策划案怎么写
  • 建站工具原理广告制作
  • 济宁做网站比较好的公司有哪些新产品推广方案范文
  • 网站推广效益怎么分析网站推广服务
  • 福建建设建设厅官方网站打开网址跳转到国外网站
  • 深圳营销型网站建设网络营销 长沙