gpt4 book ai didi

c++ - 检查 C++ 中的下溢/溢出?

转载 作者:可可西里 更新时间:2023-11-01 15:48:06 24 4
gpt4 key购买 nike

是否有通用的方法来检查给定数据类型(uint32、int 等)的上溢或下溢?

我正在做这样的事情:

uint32 a,b,c;
... //initialize a,b,c
if(b < c) {
a -= (c - b)
}

当我在一些迭代后打印 a 时,它会显示一个大数字,例如:4294963846。

最佳答案

要检查算术上溢/下溢,请将结果与原始值进行比较。

uint32 a,b;
//assign values
uint32 result = a + b;
if (result < a) {
//Overflow
}

对于您的具体检查将是:

if (a > (c-b)) {
//Underflow
}

关于c++ - 检查 C++ 中的下溢/溢出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2399269/

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