新闻中心
C++ 16进制转10进制_C++ hex字符串转int
使用std::stoi可将十六进制字符串转为十进制整数,如"1A"转为26,支持指定进制参数16或自动识别0x前缀,推荐并配合异常处理以应对非法输入。

在C++中,将16进制字符串(hex string)转换为十进制整数(int)是一个常见的需求。比如你有一个表示16进制数的字符串如 "1A",想把它转成对应的十进制值 26。下面介绍几种简单有效的方法。
使用 std::stoi 或 std::stol
最简单的方式是使用标准库中的 std::stoi 或 std::stol 函数,它们支持自动识别16进制格式(前提是字符串以 0x 开头或指定进制)。
- 如果字符串包含 0x 前缀,可以设置进制为 0,让函数自动判断
- 如果没有前缀,直接指定 base = 16
示例代码:
N世界
一分钟搭建会展元宇宙
138
查看详情
#include <iostream>
#include <string>
int main() {
std::string hex_str = "1A";
int value = std::stoi(hex_str, nullptr, 16);
std::cout << "Hex " << hex_str << " -> Dec " << value << std::endl;
return 0;
}
输出结果:Hex 1A -> Dec 26
使用 std::stringstream
另一种方法是使用 std::stringstream 配合 std::hex 操纵符。
示例代码:
#include <iostream>
#include <string>
#include <sstream>
int hex_to_int(const std::string& hex_str) {
std::stringstream ss;
ss << hex_str;
int value;
ss >> std::hex >> value;
return value;
}
int main() {
std::string hex_str = "1A";
int value = hex_to_int(hex_str);
std::cout << "Hex " << hex_str << " -> Dec " << value << std::endl;
return 0;
}
处理带 0x 前缀的情况
如果输入字符串形如 "0x1A" 或 "0XFF",上面的方法依然适用。使用 std::stoi 时传入 base=0 可以自动识别前缀。
示例:
std::string hex_str = "0x1A"; int value = std::stoi(hex_str, nullptr, 0); // base 0 表示自动检测进制
这样即使有 0x 前缀也能正确解析。
错误处理建议
实际使用中建议加入异常处理,防止无效输入导致程序崩溃。
try {
int value = std::stoi("GG", nullptr, 16); // 非法字符
} catch (const std::invalid_argument&) {
std::cout << "Invalid input!" << std::endl;
} catch (const std::out_of_range&) {
std::cout << "Value out of range!" <
;< std::endl;
}
基本上就这些常用方法。对于大多数场景,用 std::stoi(str, nullptr, 16) 是最简洁高效的选择。
以上就是C++ 16进制转10进制_C++ hex字符串转int的详细内容,更多请关注其它相关文章!
# 中文网
# 海南营销策划推广公司
# 长垣seo优化排名
# 宁波网站推广点有哪些
# 抚顺关键词优化排名软件
# 短视频seo压制
# 池州网站建设推广
# 赣州专业网站建设
# 群关键词唯独有个排名低
# 网站建设预算怎么做好
# 水泥厂网站优化
# 几种
# 如果没有
# ai
# 相关文章
# 你有
# 也能
# 边缘
# 是一个
# 游戏开发
# 自动识别
# 标准库
# stream
# ios
# c++
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
我的世界mc.js免费游戏直接能玩 我的世界mc.js小游戏免费秒玩入口
高德地图怎么看全景照片_高德地图全景照片浏览教程
163邮箱注册官网 免费申请163个人邮箱
微信怎么把收藏的内容分类管理 微信收藏内容标签分类方法
小米14应用无法联网原因分析_小米14网络权限修复
护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?
J*a 递归快速排序中静态变量的状态管理与陷阱
J*aScript中高效管理与清空动态列表:避免循环陷阱
Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖
微信网页版扫码登录入口 微信网页版二维码登录入口
Windows 11怎么彻底关闭定位_Windows 11服务中禁用Geolocation
c++ 获取系统当前时间 c++时间戳获取方法
构建轻量级网站内部消息系统:Formspree 集成指南
PDF文件体积过大处理_PDF压缩技巧详解
在J*aScript中复现SciPy的B样条拟合与求值:关键考量
优化 Python 函数中的条件逻辑:解决 if-else 嵌套与参数选择问题
Django AJAX 文件上传教程:解决图片无法保存到模型的常见问题
Yandex免登录官网入口_俄罗斯Yandex搜索引擎直达链接
c++如何实现单例设计模式_c++线程安全的单例模式写法
Pygame教程:解决用户输入与游戏状态更新不同步问题
网易大神账号申诉需要多久_网易大神账号申诉流程说明
《明末:渊虚之羽》设计师谈设计角色:那会刚毕业 充满激情
快速CSGO开箱网站指南 CSGO开箱平台推荐
b站怎么删除评论_b站评论管理与删除操作
高德地图总提示网络异常怎么办 高德地图离线导航设置与网络排查方法
DLsite中文平台入口 DLsite官网内容在线查看
UC浏览器如何安装插件 UC浏览器添加扩展程序详细教程【进阶】
Golang如何测试channel通信行为_Golang channel通信测试与分析方法
zookeeper 都有哪些功能?
如何在J*a中使用Locale处理多语言环境
C++ explicit关键字防止隐式转换_C++构造函数安全规范
星露谷物语官网入口 星露谷物语游戏官网入口
php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】
PowerPoint如何制作滚动字幕结尾彩蛋_PowerPoint路径动画实现平滑滚动字幕效果
如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率
12306选座如何查看座位示意图_12306座位示意图解读与使用
Win10双系统截图高效法 截屏快捷键速记【技巧】
搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具
动漫岛观看全网网 动漫岛在线正版动漫入口
Safari自带网页翻译功能怎么用 无需插件轻松看懂外文网站【方法】
Selenium Python中处理点击后新窗口加载冻结问题的策略与实践
解决Python logging 中 datefmt 导致时间戳固定不变的问题
AO3镜像入口大全 AO3网页版内容访问全集
《北京人工智能产业白皮书(2025)》发布:全年核心产值预计突破 4500 亿元
必由学官方平台入口 必由学在线课堂登录地址
如何在 Windows 11 中启动游戏手柄设置
在Go Martini框架中高效服务动态生成图像的实践指南
韩小圈电脑版在线入口_网页版免费登录地址
使用Pandas转换并合并DataFrame:多列映射至统一结构
夸克浏览器桌面版同步不了书签怎么处理 夸克浏览器跨设备同步异常解决方案


2025-11-28
浏览次数:次
返回列表
;< std::endl;
}