c++ - 如何在 if 语句中将 unsigned int 用作普通 int

标签 c++ if-statement unsigned-integer

有没有办法在 if 语句中使用两个无符号整数和一个有符号整数?

unsigned int a = 0, b = 1;
if (a - b > - 1)
    ++a;

最佳答案

怎么样:

if (a + 1 > b) {
  ++a;
}

(如果您的值完全不受约束,您可能需要检查并处理环绕,即 a + 1 == 0 的情况。)

甚至(感谢@M.M.):

if (a >= b) {
  ++a;
}

关于c++ - 如何在 if 语句中将 unsigned int 用作普通 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48858152/

相关文章:

c++ - 通过示例学习指针

c++ - 如何在动态加载的 DLL 中正确实现 (C++) 线程本地存储?

Python整数到字母等级问题

javascript - 减少多个相似的 if/else 语句 - javascript

c++ - 2 uint32_t 之间的数学运算返回 uint64_t

c++ - 打印原子枚举值时 gdb 崩溃

c++ - C++中如何调用递归链表遍历函数

javascript - 在 JavaScript 中是否有等同于 Swift 的 guard 语句?

nasm - 在 NASM 中声明变量

c - 读取具有大值的 unsigned int 时,Fread 返回错误值