在c++中将字符串转换为int,得到更小的值Visual Studio 2013
Convert string to int in c++ getting smaller value Visual Studio 2013
我正在将str="35555555555577777"转换为整数
int smallest;
stringstream(str) >> smallest;
我变得最小=-8795我尝试过atoi、_atoi64和其他方式,但我仍然得到了较少的值。字符串长度为35
我正在使用Visual Studio 2013。
程序行为是未定义的,因为您溢出了一个有符号的积分类型。
64位1或2的补码signed int
不能大于9223372036854775807。您的输入数字大于该数字。
如果你的系统有uint128_t
,你可以试试。我有意使用unsigned
类型,因为定义了溢出unsigned
类型的行为。如果您没有uint128_t
,那么您将不得不使用一个设计用于处理大整数的库。
相关文章:
- 将"libpqxx"与Visual Studio 2013链接/安装,以便与PostgrSQL建立C++连接
- Visual Studio 2013,错误 MSB8020:找不到 Visual Studio 2010 的生成工具
- 为什么在Visual Studio 2013上的std::this_thread::sleep_for上死锁
- Visual Studio Professional 2013, Update 5, "No Target Architecture"
- 性能报告 (.vspx) 在 Visual Studio 2013 中未打开(显示损坏)
- 在 Visual Studio 2013 中使用零大小数组C++
- Visual Studio 2013 标头包含失败
- C /FORTRAN项目由Visual Studio 2010/Intel 2013创建,将不会在Visual St
- Visual studio 2013 和 g++ 7.1 中将 int 和 long 类型相乘时的 c++ 差异行为
- 如何修复此错误,该错误在2013年Visual Studio上构建VirtualPlannetBuilder源
- 在Visual Studio 2013中编译的STL列表代码在Visual Studio 2019中给出了错误.想知道原
- 错误 LNK2019: 未解析的外部符号 Visual Studio 2013 与 openCV
- cv:内存位置的异常 - 运行 openCV 代码 Visual Studio 2013 & Visual Studio 2017 - Windows 7
- 模块计算机类型和目标计算机类型 Visual Studio 2013
- 如何在Visual Studio 2013 Ultimate Edition中包含某个单词的每一行中插入断点
- 具有显式参数和大小的可变参数模板.Visual Studio 2013.
- 使用 Visual Studio 2013 编译 GDCM dlls 2.8.4 for Windows
- 基本字符串操作有问题 [c++, Visual Studio 2013]
- Visual Studio 2013中可能的C/C 编译器错误
- 在Visual Studio 2013上.Win32 应用和 CLR 应用