gpt4 book ai didi

c++ - 有符号/无符号比较给出意想不到的结果

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:13 24 4
gpt4 key购买 nike

<分区>

a 是一个带符号的 int 并且包含 -100b 是一个 unsigned int 并且包含 500

a<b returns FALSE!!

到底为什么? :P

我可以将 b 转换为 signed int 并获得正确的结果,但结果却让我大吃一惊,因为我不知道为什么 -100<500 应该是假的,就像如果编译器自动将 a 转换为无符号类型(这显然不是程序员要求的)。

如果我们保持原样,即第一个签名的和第二个未签名,那么为什么要

这真的很令人困惑。

现在我必须更正我所有的代码,寻找有符号和无符号整数之间的比较,以及强制转换这两个变量都符合我的意思。 :-/

还有什么需要注意的地方吗混合有符号和无符号类型时?

请不要回复明显的“一般使用unsigned types 是不可取的,你为什么不坚持只有签名类型?你会更安全”。谢谢。

干杯。

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