gpt4 book ai didi

C++ 数据类型及其范围

转载 作者:行者123 更新时间:2023-11-28 01:17:20 24 4
gpt4 key购买 nike

C++ 中是否存在具有范围的数据类型

1 <= N <= 1018
0 <= K <= 1018

如果没有,是否有限制变量输入范围的方法?

最佳答案

自 1018 < 264unsigned long long will be big enough将值保持在您请求的范围内。

关于“限制变量的输入范围”,不清楚你指的是什么限制:

  • 您是否需要使声明在范围之外的值无法编译的功能?
  • 您是否需要这样的功能:如果计算出的值超出该范围,则会发生一些特殊操作(例如使程序崩溃、抛出异常或打印错误消息)?
  • 或者您是否正在寻找一种数据类型,可以将“超出范围”的值限制在范围内最接近的值?
  • 或者您是否正在寻找一种数据类型,其行为类似于 C++ 的内置无符号数据类型,其中上溢(和下溢)导致表示值中的模数样式“环绕”?

其中一些处理策略可以通过自定义类实现(以一定程度的效率为代价)。如果您不需要对超出范围的值进行任何特定的错误检查,OTOH,那么普通的旧 unsigned long long 将工作正常并且效率最高,因为它直接映射到底层 CPU 硬件.

关于C++ 数据类型及其范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58250939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com